Files
tradon/modules/account_statement/tests/scenario_account_statement_bank_account.rst
2026-03-14 09:42:12 +00:00

79 lines
2.5 KiB
ReStructuredText

=======================================
Account Statement Bank Account Scenario
=======================================
Imports::
>>> from proteus import Model
>>> from trytond.modules.account.tests.tools import create_chart, get_accounts
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.modules.currency.tests.tools import get_currency
>>> from trytond.tests.tools import activate_modules, assertEqual
Activate modules::
>>> config = activate_modules('account_statement', create_company, create_chart)
>>> AccountJournal = Model.get('account.journal')
>>> Bank = Model.get('bank')
>>> BankAccount = Model.get('bank.account')
>>> Party = Model.get('party.party')
>>> StatementJournal = Model.get('account.statement.journal')
Get currencies and company::
>>> eur = get_currency('EUR')
>>> usd = get_currency('USD')
>>> company = get_company()
Get accounts::
>>> accounts = get_accounts()
Create bank account::
>>> bank_party = Party(name="Bank")
>>> bank_party.save()
>>> bank = Bank(party=bank_party)
>>> bank.save()
>>> bank_account = BankAccount(bank=bank)
>>> bank_account.owners.append(Party(company.party.id))
>>> bank_account.currency = eur
>>> number = bank_account.numbers.new(type='iban')
>>> number.number = 'BE82068896274468'
>>> bank_account.save()
Create statement journal::
>>> account_journal, = AccountJournal.find([('code', '=', 'STA')], limit=1)
>>> statement_journal = StatementJournal(
... name="Test",
... account=accounts['cash'],
... journal=account_journal,
... currency=eur,
... bank_account=bank_account)
>>> statement_journal.save()
Change currency of bank account::
>>> bank_account.currency = usd
>>> bank_account.save()
Traceback (most recent call last):
...
AccountValidationError: ...
Get journal by bank account::
>>> assertEqual(
... StatementJournal.get_by_bank_account(
... company.id, 'BE82068896274468', context={}),
... statement_journal.id)
>>> assertEqual(
... StatementJournal.get_by_bank_account(
... company.id, 'BE82068896274468', 'EUR', context={}),
... statement_journal.id)
>>> StatementJournal.get_by_bank_account(company.id, 'foo', context={})
>>> StatementJournal.get_by_bank_account(
... company.id, 'BE82068896274468', 'USD', context={})