[Erp5-report] r33746 nicolas.dumazet - in /erp5/trunk/products/ERP5: Document/ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Mar 16 08:57:32 CET 2010


Author: nicolas.dumazet
Date: Tue Mar 16 08:57:31 2010
New Revision: 33746

URL: http://svn.erp5.org?rev=33746&view=rev
Log:
test&implement TransformedResource.getAggregatedAmountList(a) if a.quantity <> 1

Modified:
    erp5/trunk/products/ERP5/Document/TransformedResource.py
    erp5/trunk/products/ERP5/tests/testTransformation.py

Modified: erp5/trunk/products/ERP5/Document/TransformedResource.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/TransformedResource.py?rev=33746&r1=33745&r2=33746&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/TransformedResource.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/TransformedResource.py [utf8] Tue Mar 16 08:57:31 2010
@@ -263,6 +263,15 @@
         except ValueError:
           error_string += 'Quantity is not a float.'
 
+        # If IAmount specifies that 4 resources are needed, all quantities
+        # need to be multiplicated by 4...
+        context_quantity = None
+        quantity_getter = getattr(context, "getQuantity", None)
+        if quantity_getter is not None:
+          context_quantity = quantity_getter()
+        if context_quantity is None:
+          raise KeyError("No quantity defined on context")
+        quantity *= float(context_quantity)
 
         # Get the variation category list
         variation_category_list_defined_by = None

Modified: erp5/trunk/products/ERP5/tests/testTransformation.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testTransformation.py?rev=33746&r1=33745&r2=33746&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testTransformation.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testTransformation.py [utf8] Tue Mar 16 08:57:31 2010
@@ -242,6 +242,7 @@
         len(fabric_line.getCellKeyList(base_id='quantity'))
     )
 
+    swimsuit_quantity = 4.0
     from Products.ERP5Type.Document import newTempAmount
     n = 1
     # Check that getAggregatedAmount returns the expected results, a.k.a.
@@ -251,7 +252,7 @@
         # id does not matter, just make it unique
         temp_amount = newTempAmount(transformation, "foo_%s_%s" % (size, colour))
         temp_amount.edit(
-            quantity = 1.0,
+            quantity = swimsuit_quantity,
             variation_category_list = [size, colour],
             resource = swimsuit.getRelativeUrl(),
         )
@@ -262,12 +263,12 @@
           resource = amount.getResource()
           if resource == fabric.getRelativeUrl():
             self.assertEquals(amount.getVariationCategoryList(), [colour])
-            self.assertEquals(amount.getQuantity(), i+1)
+            self.assertEquals(amount.getQuantity(), (i+1)*swimsuit_quantity)
           elif resource == button.getRelativeUrl():
             self.assertEquals(amount.getVariationCategoryList(), [size])
-            self.assertEquals(amount.getQuantity(), button_number)
+            self.assertEquals(amount.getQuantity(), button_number*swimsuit_quantity)
           elif resource == "operation/sewing":
-            self.assertEquals(amount.getQuantity(), n)
+            self.assertEquals(amount.getQuantity(), n*swimsuit_quantity)
           else:
             self.fail("Invalid Resource: %s" % resource)
         n += 1




More information about the Erp5-report mailing list