[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