From f5d5c525fb3e33e437d4d9652f94675e5bf77d1f Mon Sep 17 00:00:00 2001 From: Yusei Tahara <yusei@nexedi.com> Date: Mon, 30 May 2011 11:55:09 +0900 Subject: [PATCH] Add a test for variated multiple quantity unit resource. --- product/ERP5/tests/testInventoryModule.py | 59 +++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/product/ERP5/tests/testInventoryModule.py b/product/ERP5/tests/testInventoryModule.py index f743d32ffb..ca8b5aaf50 100644 --- a/product/ERP5/tests/testInventoryModule.py +++ b/product/ERP5/tests/testInventoryModule.py @@ -553,6 +553,65 @@ class TestInventoryModule(TestOrderMixin, ERP5TypeTestCase): sequence_list.play(self) + def stepCreateFirstVariatedMultipleQuantityUnitResourceInventory(self, sequence=None, sequence_list=None, \ + **kw): + """ + We will put default values for an inventory + - size/Child/32 99 drum + - size/Child/34 100 drum + - size/Child/32 99 kilogram + - size/Child/34 100 kiligram + """ + date = DateTime(self.first_date_string) + inventory = self.createInventory(start_date=date,sequence=sequence) + quantity = self.default_quantity + self.createVariatedInventoryLine(start_date=date, + sequence=sequence, quantity=quantity) + inventory_line = inventory.objectValues(portal_type='Inventory Line')[0] + inventory_line.setQuantityUnitValue(self.portal.portal_categories.quantity_unit.unit.drum) + self.createVariatedInventoryLine(start_date=date, + sequence=sequence, quantity=quantity) + + def stepCheckFirstVariatedMultipleQuantityUnitResourceInventory(self, sequence=None, sequence_list=None, \ + **kw): + node_uid = sequence.get('organisation1').getUid() + resource_url = sequence.get('resource').getRelativeUrl() + date = DateTime(self.view_stock_date) + inventory = sequence.get('inventory_list')[-1] + total_quantity = sum([inventory_movement.getInventoriatedQuantity() for inventory_movement in inventory.getMovementList()]) + self.assertEqual(total_quantity, (99*100 + 100*100 + 99 + 100)) + quantity = self.getSimulationTool().getInventory(node_uid=node_uid, + resource=resource_url, + to_date=date) + self.assertEquals(total_quantity, quantity) + variation_text = 'size/Child/32' + total_quantity = (99*100 + 99) + quantity = self.getSimulationTool().getInventory(node_uid=node_uid, + resource=resource_url, + variation_text=variation_text, + to_date=date) + self.assertEquals(total_quantity,quantity) + + def test_05_VariatedMultipleQuantityUnitResourceInventory(self, run=run_all_test): + """ + Input inventory for resource which has variation and multiple quantity units + and make sure that inventory stores correct data. + """ + if not run: return + self.logMessage('Test inventory with variated multiple quantity units resource') + + sequence_list = SequenceList() + + sequence_string = 'stepCreateVariatedMultipleQuantityUnitResource \ + stepCreateOrganisation1 \ + stepTic \ + stepCreateFirstVariatedMultipleQuantityUnitResourceInventory \ + stepTic \ + stepCheckFirstVariatedMultipleQuantityUnitResourceInventory' + sequence_list.addSequenceString(sequence_string) + + sequence_list.play(self) + def test_suite(): suite = unittest.TestSuite() -- 2.30.9