[Erp5-report] r34036 nicolas.dumazet - /erp5/trunk/products/ERP5/tests/testTransformation.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Mar 24 09:02:29 CET 2010


Author: nicolas.dumazet
Date: Wed Mar 24 09:02:29 2010
New Revision: 34036

URL: http://svn.erp5.org?rev=34036&view=rev
Log:
Extend testTransformation

* test Resource.getDefaultTransformationValue
* add a very basic test for transformed inventories

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

Modified: erp5/trunk/products/ERP5/tests/testTransformation.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testTransformation.py?rev=34036&r1=34035&r2=34036&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testTransformation.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testTransformation.py [utf8] Wed Mar 24 09:02:29 2010
@@ -26,8 +26,8 @@
 #
 ##############################################################################
 
-from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
 from testProductionOrder import TestProductionOrderMixin
+from testInventoryAPI import BaseTestUnitConversion
 import transaction
 
 class TestTransformationMixin(TestProductionOrderMixin):
@@ -92,12 +92,24 @@
     resource.setVariationCategoryList(self.button_variation_category_list)
 
 
-class TestTransformation(TestTransformationMixin, ERP5TypeTestCase):
+class TestTransformation(TestTransformationMixin, BaseTestUnitConversion):
+  QUANTITY_UNIT_DICT = {
+    # base: (reference, dict_of_others)
+    'mass':   ('kilogram', dict(gram=0.001)),
+  }
+  METRIC_TYPE_CATEGORY_LIST = (
+    'mass/net',
+  )
+
+  def afterSetUp(self):
+    TestTransformationMixin.afterSetUp(self)
+    BaseTestUnitConversion.afterSetUp(self)
 
   def getBusinessTemplateList(self):
     """
     """
-    return ('erp5_base','erp5_pdm', 'erp5_trade', 'erp5_mrp',)
+    return ('erp5_base','erp5_pdm', 'erp5_trade', 'erp5_mrp', 'erp5_apparel',
+            'erp5_dummy_movement', 'erp5_project')
 
   def test_01_getAggregatedAmountListSimple(self):
     """
@@ -213,6 +225,7 @@
         variation_base_category_list = self.swimsuit_variation_base_category_list
     )
     transformation.setResourceValue(swimsuit)
+    transaction.commit()
 
     fabric = self.createResource(
         'Fabric',
@@ -283,6 +296,11 @@
 
     transaction.commit()
     self.tic()
+
+    self.assertEqual(swimsuit.getDefaultTransformationValue().getRelativeUrl(),
+                     transformation.getRelativeUrl())
+    self.assertEqual(fabric.getDefaultTransformationValue(), None)
+    self.assertEqual(button.getDefaultTransformationValue(), None)
 
     # Swimming Suit does not use ALL categories in Size category.
     # As a result, transformation lines should restrict their dimensions,
@@ -325,7 +343,39 @@
             self.fail("Invalid Resource: %s" % resource)
         n += 1
 
+
+    for size in self.size_category_list:
+      for colour in self.colour_category_list:
+        self.makeMovement(swimsuit_quantity, swimsuit, size, colour)
+
+    transaction.commit()
+    self.tic()
+
+    inv = self.getSimulationTool().getInventoryList(
+            node_uid=self.node.getUid(),
+            transformed_resource=[fabric.getRelativeUrl(),
+                                  button.getRelativeUrl(),
+                                  "operation/sewing"],
+            )
+    self.assertEquals(len(inv),
+          len(transformation) * len(self.size_category_list) \
+            * len(self.colour_category_list))
+
+    return
     # XXX (will be expanded)
+
+    for i, size in enumerate(self.size_category_list):
+      for colour in self.colour_category_list:
+        variation_text = '\n'.join([colour, size])
+        inv = self.getSimulationTool().getInventoryList(
+                node_uid=self.mirror_node.getUid(),
+                transformed_resource=[fabric.getRelativeUrl(),
+                                      button.getRelativeUrl(),
+                                      "operation/sewing"],
+                variation_text=variation_text,
+              )
+        import pdb; pdb.set_trace()
+
 
   def test_resourceIsNotAcquiredOnTransformationLines(self):
     '''




More information about the Erp5-report mailing list