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

60 lines
1.5 KiB
ReStructuredText

===========================
Purchase with Default Taxes
===========================
Imports::
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.account.tests.tools import (
... create_chart, create_tax, get_accounts)
>>> from trytond.modules.company.tests.tools import create_company
>>> from trytond.tests.tools import activate_modules, assertEqual
Activate modules::
>>> config = activate_modules('purchase', create_company, create_chart)
>>> Party = Model.get('party.party')
>>> Purchase = Model.get('purchase.purchase')
>>> Tax = Model.get('account.tax')
Get accounts::
>>> accounts = get_accounts()
Create tax::
>>> tax = create_tax(Decimal('.10'))
>>> tax.save()
>>> accounts['expense'].taxes.append(Tax(tax.id))
>>> accounts['expense'].save()
Create parties::
>>> supplier = Party(name="Supplier")
>>> supplier.save()
Create a purchase without product::
>>> purchase = Purchase(party=supplier)
>>> line = purchase.lines.new()
>>> assertEqual(line.taxes, [tax])
>>> line.quantity = 1
>>> line.unit_price = Decimal('100.0000')
>>> purchase.click('quote')
>>> purchase.total_amount
Decimal('110.00')
>>> purchase.click('confirm')
>>> purchase.state
'processing'
Check invoice::
>>> invoice, = purchase.invoices
>>> invoice.total_amount
Decimal('110.00')
>>> line, = invoice.lines
>>> assertEqual(line.account, accounts['expense'])