=========================== 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'])