[Erp5-report] r23951 - /erp5/trunk/products/ERP5/tests/testTradeCondition.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Oct 1 18:48:40 CEST 2008
Author: jerome
Date: Wed Oct 1 18:48:38 2008
New Revision: 23951
URL: http://svn.erp5.org?rev=23951&view=rev
Log:
tests that tax lines are also updated when order lines are removed
Modified:
erp5/trunk/products/ERP5/tests/testTradeCondition.py
Modified: erp5/trunk/products/ERP5/tests/testTradeCondition.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testTradeCondition.py?rev=23951&r1=23950&r2=23951&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testTradeCondition.py (original)
+++ erp5/trunk/products/ERP5/tests/testTradeCondition.py Wed Oct 1 18:48:38 2008
@@ -664,6 +664,49 @@
self.assertEquals(200, tax_line.getQuantity())
self.assertEquals(40, tax_line.getTotalPrice())
+ def test_delete_order_line_quantity_update_tax_line(self):
+ base_1 = self.base_amount.newContent(
+ portal_type='Category',
+ title='Base 1')
+ self.resource.setBaseContributionValue(base_1)
+ tax_model_line = self.trade_condition.newContent(
+ portal_type='Tax Model Line',
+ base_application_value=base_1,
+ float_index=1,
+ efficiency=0.2,
+ resource_value=self.tax)
+
+ self.order.Order_applyTradeCondition(self.trade_condition, force=1)
+
+ # this creates a tax line, with quantity 0, and it will be updated when
+ # needed
+ tax_line_list = self.order.contentValues(portal_type='Tax Line')
+ self.assertEquals(1, len(tax_line_list))
+ tax_line = tax_line_list[0]
+ self.assertEquals(0, tax_line.getQuantity())
+ self.assertEquals(self.tax, tax_line.getResourceValue())
+ self.assertEquals(0.2, tax_line.getPrice())
+
+ order_line = self.order.newContent(
+ portal_type=self.order_line_type,
+ resource_value=self.resource,
+ quantity=10,
+ price=10,)
+
+ # tax lines are updated
+ tax_line_list = self.order.contentValues(portal_type='Tax Line')
+ self.assertEquals(1, len(tax_line_list))
+ tax_line = tax_line_list[0]
+ self.assertEquals(100, tax_line.getQuantity())
+ self.assertEquals(0.2, tax_line.getPrice())
+ self.assertEquals(20, tax_line.getTotalPrice())
+
+ # delete the order line
+ order.manage_delObjects([order_line.getId()])
+ # the tax line is updated
+ self.assertEquals(0, tax_line.getQuantity())
+ self.assertEquals(0, tax_line.getTotalPrice())
+
def test_order_cell_and_tax_line(self):
base_1 = self.base_amount.newContent(
portal_type='Category',
More information about the Erp5-report
mailing list