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

65 lines
1.8 KiB
ReStructuredText

================
Invoice Scenario
================
Imports::
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.account.tests.tools import (
... create_chart, create_fiscalyear, get_accounts)
>>> from trytond.modules.account_invoice.tests.tools import (
... set_fiscalyear_invoice_sequences)
>>> from trytond.modules.company.tests.tools import create_company
>>> from trytond.tests.tools import activate_modules, assertEqual
Activate modules::
>>> config = activate_modules(['account_consolidation', 'account_invoice'])
>>> Company = Model.get('company.company')
>>> Invoice = Model.get('account.invoice')
>>> Party = Model.get('party.party')
Create companies::
>>> party = Party(name="Dunder Mifflin")
>>> party.save()
>>> _ = create_company(party)
>>> dunder_mifflin, = Company.find([('party', '=', party.id)], limit=1)
>>> party = Party(name="Saber")
>>> party.save()
>>> _ = create_company(party)
>>> saber, = Company.find([('party', '=', party.id)], limit=1)
Create fiscal year::
>>> fiscalyear = set_fiscalyear_invoice_sequences(
... create_fiscalyear(dunder_mifflin))
>>> fiscalyear.click('create_period')
>>> period_ids = [p.id for p in fiscalyear.periods]
Create chart of accounts::
>>> _ = create_chart(dunder_mifflin)
>>> accounts = get_accounts(dunder_mifflin)
Create invoice::
>>> invoice = Invoice()
>>> invoice.party = saber.party
>>> line = invoice.lines.new()
>>> line.account = accounts['revenue']
>>> line.quantity = 5
>>> line.unit_price = Decimal('10.0000')
>>> invoice.click('post')
>>> invoice.state
'posted'
Check consolidation company::
>>> assertEqual(invoice.consolidation_company, saber)
>>> assertEqual(invoice.move.consolidation_company, saber)