[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