From fbc9a0a9ebc2126beb52955c4dcf2ef1415c41c0 Mon Sep 17 00:00:00 2001 From: Sebastien Robin <seb@nexedi.com> Date: Mon, 20 Mar 2006 12:57:18 +0000 Subject: [PATCH] make sure accounting lines have the right quantity git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@6133 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testInvoice.py | 37 ++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/product/ERP5/tests/testInvoice.py b/product/ERP5/tests/testInvoice.py index 26abcde2a6..86256a076d 100755 --- a/product/ERP5/tests/testInvoice.py +++ b/product/ERP5/tests/testInvoice.py @@ -59,6 +59,7 @@ class TestInvoice(TestAccountingRulesMixin,TestPackingListMixin, ERP5TypeTestCas default_region = "europe/west/france" vat_gap = 'fr/pcg/4/44/445/4457/44571' + vat_rate = 0.196 sale_gap = 'fr/pcg/7/70/707/7071/70712' customer_gap = 'fr/pcg/4/41/411' @@ -200,7 +201,7 @@ class TestInvoice(TestAccountingRulesMixin,TestPackingListMixin, ERP5TypeTestCas receivable.setSourceValue(customer_account) collected_vat = cell.newContent(id='collected_vat', portal_type=self.sale_invoice_transaction_portal_type) - collected_vat.setQuantity(0.196) + collected_vat.setQuantity(self.vat_rate) collected_vat.setSourceValue(vat_account) def modifyPackingListState(self, transition_name, sequence,packing_list=None): @@ -564,6 +565,40 @@ class TestInvoice(TestAccountingRulesMixin,TestPackingListMixin, ERP5TypeTestCas portal_type=self.sale_invoice_transaction_line_portal_type))) self.assertEquals(3,len(new_invoice.objectValues( portal_type=self.sale_invoice_transaction_line_portal_type))) + account_module = self.getAccountModule() + vat_account=account_module['receivable_vat'] + sale_account=account_module['sale'] + customer_account=account_module['customer'] + found_dict = {} + for line in invoice.objectValues( + portal_type=self.sale_invoice_transaction_line_portal_type): + source_id = line.getSourceId() + found_dict[source_id] = line.getQuantity() + total_price = (self.default_quantity-1) * self.default_price + expected_dict = { + 'sale' : total_price, + 'receivable_vat' : total_price * self.vat_rate, + 'customer' : - (total_price + total_price * self.vat_rate) + } + self.failIfDifferentSet(expected_dict.keys(),found_dict.keys()) + for key in found_dict.keys(): + self.assertAlmostEquals(expected_dict[key],found_dict[key],places=2) + found_dict = {} + for line in new_invoice.objectValues( + portal_type=self.sale_invoice_transaction_line_portal_type): + source_id = line.getSourceId() + found_dict[source_id] = line.getQuantity() + total_price = 1 * self.default_price + expected_dict = { + 'sale' : total_price, + 'receivable_vat' : total_price * self.vat_rate, + 'customer' : - (total_price + total_price * self.vat_rate) + } + self.failIfDifferentSet(expected_dict.keys(),found_dict.keys()) + for key in found_dict.keys(): + self.assertAlmostEquals(expected_dict[key],found_dict[key],places=2) + + def stepRebuildAndCheckNothingIsCreated(self, sequence=None, sequence_list=None, **kw): -- 2.30.9