[Erp5-report] r36269 jerome - in /erp5/trunk/products/ERP5: Tool/ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Jun 11 14:23:31 CEST 2010


Author: jerome
Date: Fri Jun 11 14:23:18 2010
New Revision: 36269

URL: http://svn.erp5.org?rev=36269&view=rev
Log:
support group_by= as string, and test some other cases of group_by=

Modified:
    erp5/trunk/products/ERP5/Tool/SimulationTool.py
    erp5/trunk/products/ERP5/tests/testInventoryAPI.py

Modified: erp5/trunk/products/ERP5/Tool/SimulationTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Tool/SimulationTool.py?rev=36269&r1=36268&r2=36269&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/SimulationTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Tool/SimulationTool.py [utf8] Fri Jun 11 14:23:18 2010
@@ -442,6 +442,9 @@ class SimulationTool(BaseTool):
         # group by involving a related key (eg. group_by=['product_line_uid'])
         related_key_dict_passthrough_group_by = new_kw.get(
                 'related_key_dict_passthrough', dict()).pop('group_by', [])
+        if isinstance(related_key_dict_passthrough_group_by, basestring):
+          related_key_dict_passthrough_group_by = (
+                related_key_dict_passthrough_group_by,)
         group_by.extend(related_key_dict_passthrough_group_by)
 
         if group_by:

Modified: erp5/trunk/products/ERP5/tests/testInventoryAPI.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testInventoryAPI.py?rev=36269&r1=36268&r2=36269&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testInventoryAPI.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testInventoryAPI.py [utf8] Fri Jun 11 14:23:18 2010
@@ -896,8 +896,27 @@ class TestInventoryList(InventoryAPITest
             if r.getObject().getUse() == 'use1'][0].inventory, 5)
     self.assertEquals([r for r in inventory_list
         if r.getObject().getUse() == 'use2'][0].inventory, 11)
+    # group_by can also be passed as string
+    inventory_list = getInventoryList(node_uid=(self.node.getUid(),
+                                                self.other_node.getUid()),
+                                      group_by='strict_use_uid', )
+    self.assertEquals(2, len(inventory_list))
+    self.assertEquals([r for r in inventory_list
+            if r.getObject().getUse() == 'use1'][0].inventory, 5)
+    self.assertEquals([r for r in inventory_list
+        if r.getObject().getUse() == 'use2'][0].inventory, 11)
+
+    # the name of a column can also be used, from stock or other tables
+    inventory_list = getInventoryList(node_uid=(self.node.getUid(),
+                                                self.other_node.getUid()),
+                                      group_by='node_uid', )
+    self.assertEquals(2, len(inventory_list))
+    inventory_list = getInventoryList(node_uid=(self.node.getUid(),
+                                                self.other_node.getUid()),
+                                      group_by='title', )
+    self.assertEquals(4, len(inventory_list))
 
-    # mixed with group_by_* arguments
+    # group_by= can be mixed with group_by_* arguments
     inventory_list = getInventoryList(node_uid=(self.node.getUid(),
                                                 self.other_node.getUid()),
                                       group_by_node=True,




More information about the Erp5-report mailing list