From 0fdca6b94d9facbd47fe9690cf27fd300f1f6638 Mon Sep 17 00:00:00 2001 From: Sebastien Robin <seb@nexedi.com> Date: Tue, 14 Mar 2006 15:09:41 +0000 Subject: [PATCH] added a test in order to check that the update method of the delivery builder works git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@6094 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testPackingList.py | 89 +++++++++++++++++++++++++-- 1 file changed, 83 insertions(+), 6 deletions(-) diff --git a/product/ERP5/tests/testPackingList.py b/product/ERP5/tests/testPackingList.py index c061945fa6..157b256d2e 100755 --- a/product/ERP5/tests/testPackingList.py +++ b/product/ERP5/tests/testPackingList.py @@ -140,12 +140,21 @@ class TestPackingListMixin(TestOrderMixin): """ return 1 - def stepCheckPackingListIsDivergent(self, sequence=None, sequence_list=None, **kw): + def stepCheckPackingListIsDivergent(self, sequence=None, sequence_list=None, + packing_list=None,**kw): """ Test if packing list is divergent """ - packing_list = sequence.get('packing_list') - self.assertEquals(True,packing_list.isDivergent()) + if packing_list is None: + packing_list = sequence.get('packing_list') + self.assertEquals('diverged',packing_list.getCausalityState()) + + def stepCheckNewPackingListIsDivergent(self, sequence=None, sequence_list=None, **kw): + """ + Test if packing list is divergent + """ + packing_list = sequence.get('new_packing_list') + self.stepCheckPackingListIsDivergent(packing_list=packing_list,sequence=sequence) def stepCheckPackingListIsCalculating(self, sequence=None, sequence_list=None, **kw): """ @@ -180,9 +189,12 @@ class TestPackingListMixin(TestOrderMixin): Test if packing list is divergent """ packing_list = sequence.get('packing_list') + quantity = sequence.get('line_quantity',default=self.default_quantity) + quantity = quantity -1 + sequence.edit(line_quantity=quantity) for packing_list_line in packing_list.objectValues( portal_type=self.packing_list_line_portal_type): - packing_list_line.edit(quantity=self.default_quantity-1) + packing_list_line.edit(quantity=quantity) def stepIncreasePackingListLineQuantity(self, sequence=None, sequence_list=None, **kw): """ @@ -218,6 +230,7 @@ class TestPackingListMixin(TestOrderMixin): packing_list1 = packing_list else: packing_list2 = packing_list + sequence.edit(new_packing_list=packing_list2) for line in packing_list1.objectValues( portal_type= self.packing_list_line_portal_type): self.assertEquals(self.default_quantity-1,line.getQuantity()) @@ -225,6 +238,28 @@ class TestPackingListMixin(TestOrderMixin): portal_type= self.packing_list_line_portal_type): self.assertEquals(1,line.getQuantity()) + def stepCheckPackingListSplittedTwoTimes(self, sequence=None, sequence_list=None, **kw): + """ + Test if packing list is divergent + """ + order = sequence.get('order') + packing_list_list = order.getCausalityRelatedValueList( + portal_type=self.packing_list_portal_type) + self.assertEquals(2,len(packing_list_list)) + packing_list1 = None + packing_list2 = None + for packing_list in packing_list_list: + if packing_list.getUid() == sequence.get('packing_list').getUid(): + packing_list1 = packing_list + else: + packing_list2 = packing_list + for line in packing_list1.objectValues( + portal_type= self.packing_list_line_portal_type): + self.assertEquals(self.default_quantity-2,line.getQuantity()) + for line in packing_list2.objectValues( + portal_type= self.packing_list_line_portal_type): + self.assertEquals(2,line.getQuantity()) + def stepCheckPackingListNotSplitted(self, sequence=None, sequence_list=None, **kw): """ Test if packing list is divergent @@ -339,15 +374,24 @@ class TestPackingListMixin(TestOrderMixin): for simulation_line in simulation_line_list: simulation_line.edit(start_date=self.datetime+15) - def stepAdoptPrevision(self,sequence=None, sequence_list=None, **kw): + def stepAdoptPrevision(self,sequence=None, sequence_list=None, + packing_list=None,**kw): """ Check if simulation movement are disconnected """ - packing_list = sequence.get('packing_list') + if packing_list is None: + packing_list = sequence.get('packing_list') LOG('packing_list.getSimulationState()',0,packing_list.getSimulationState()) LOG('packing_list.getCausalityState()',0,packing_list.getCausalityState()) packing_list.portal_workflow.doActionFor(packing_list,'adopt_prevision_action') + def stepNewPackingListAdoptPrevision(self,sequence=None, sequence_list=None, **kw): + """ + Check if simulation movement are disconnected + """ + packing_list = sequence.get('new_packing_list') + self.stepAdoptPrevision(sequence=sequence,packing_list=packing_list) + def stepAcceptDecision(self,sequence=None, sequence_list=None, **kw): """ Check if simulation movement are disconnected @@ -662,6 +706,39 @@ class TestPackingList(TestPackingListMixin, ERP5TypeTestCase) : sequence_list.play(self) + def test_11_PackingListDecreaseTwoTimesQuantityAndUpdateDelivery(self, + quiet=0, run=run_all_test): + """ + Change the quantity on an delivery line, then + see if the packing list is divergent and then + split and defer the packing list + """ + if not run: return + sequence_list = SequenceList() + + # Test with a simply order without cell + sequence_string = self.default_sequence + '\ + DecreasePackingListLineQuantity \ + CheckPackingListIsCalculating \ + SplitAndDeferPackingList \ + Tic \ + CheckPackingListIsSolved \ + CheckPackingListSplitted \ + DecreasePackingListLineQuantity \ + CheckPackingListIsCalculating \ + SplitAndDeferPackingList \ + Tic \ + CheckNewPackingListIsDivergent \ + NewPackingListAdoptPrevision \ + Tic \ + CheckPackingListIsSolved \ + CheckPackingListSplittedTwoTimes \ + ' + sequence_list.addSequenceString(sequence_string) + + sequence_list.play(self) + + if __name__ == '__main__': framework() else: -- 2.30.9