[Erp5-report] r12003 - in /erp5/trunk/products/ERP5: Tool/ tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Jan 11 10:45:54 CET 2007
Author: jerome
Date: Thu Jan 11 10:45:51 2007
New Revision: 12003
URL: http://svn.erp5.org?rev=12003&view=rev
Log:
pass group_by_expression to buildSQLQuery
add a new getInventoryList test
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=12003&r1=12002&r2=12003&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/SimulationTool.py (original)
+++ erp5/trunk/products/ERP5/Tool/SimulationTool.py Thu Jan 11 10:45:51 2007
@@ -454,7 +454,7 @@
if len(group_by_expression_list):
# Always group by resource
group_by_expression_list.append('%s.resource_uid' % table)
- sql_kw['group_by_expression'] = ', '.join(group_by_expression_list)
+ new_kw['group_by_expression'] = ', '.join(group_by_expression_list)
sql_kw.update(self.portal_catalog.buildSQLQuery(**new_kw))
return sql_kw
Modified: erp5/trunk/products/ERP5/tests/testInventoryAPI.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testInventoryAPI.py?rev=12003&r1=12002&r2=12003&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testInventoryAPI.py (original)
+++ erp5/trunk/products/ERP5/tests/testInventoryAPI.py Thu Jan 11 10:45:51 2007
@@ -77,6 +77,7 @@
self.section = self._makeOrganisation(title='Section')
self.node = self._makeOrganisation(title='Node')
+ self.other_node = self._makeOrganisation(title='Other Node')
self.payment_node = self.section.newContent(
title='Payment Node',
portal_type='Bank Account')
@@ -497,6 +498,34 @@
class TestInventoryList(InventoryAPITestCase):
"""Tests getInventoryList methods.
"""
+ def test_ReturnedTypeIsList(self):
+ """Inventory List returns a sequence object"""
+ getInventoryList = self.getSimulationTool().getInventoryList
+ inventory_list = getInventoryList()
+ self.assertEquals(str(inventory_list.__class__),
+ 'Shared.DC.ZRDB.Results.Results')
+ # the brain is InventoryListBrain
+ self.assert_('InventoryListBrain' in
+ [c.__name__ for c in inventory_list._class.__bases__])
+ # default is an empty list
+ self.assertEquals(0, len(inventory_list))
+
+ def test_GroupByNode(self):
+ getInventoryList = self.getSimulationTool().getInventoryList
+ self._makeMovement(quantity=100)
+ self._makeMovement(destination_value=self.other_node, quantity=100)
+ self._makeMovement(destination_value=None, quantity=100)
+ inventory_list = getInventoryList(group_by_node=1)
+ self.assertEquals(3, len(inventory_list))
+ self.assertEquals([r for r in inventory_list if r.node_relative_url ==
+ self.node.getRelativeUrl()][0].inventory, 100)
+ self.assertEquals([r for r in inventory_list if r.node_relative_url ==
+ self.other_node.getRelativeUrl()][0].inventory, 100)
+ self.assertEquals([r for r in inventory_list if r.node_relative_url ==
+ self.mirror_node.getRelativeUrl()][0].inventory, -300)
+
+ # TODO group by mirror_node, section, mirror_section, payment, resource
+ # ? and maybe project, function, portal_type ?
class TestMovementHistoryList(InventoryAPITestCase):
"""Tests Movement history list methods.
More information about the Erp5-report
mailing list