[Erp5-report] r44586 leonardo - /erp5/trunk/products/ERP5/tests/testPackingList.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Mar 24 18:41:59 CET 2011
Author: leonardo
Date: Thu Mar 24 18:41:59 2011
New Revision: 44586
URL: http://svn.erp5.org?rev=44586&view=rev
Log:
fix most newSimulationExpectedFailures from testPackingList (only 2 left)
Modified:
erp5/trunk/products/ERP5/tests/testPackingList.py
Modified: erp5/trunk/products/ERP5/tests/testPackingList.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testPackingList.py?rev=44586&r1=44585&r2=44586&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testPackingList.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testPackingList.py [utf8] Thu Mar 24 18:41:59 2011
@@ -57,6 +57,7 @@ class TestPackingListMixin(TestOrderMixi
SetOrderPriceCurrency
SetOrderProfile
"""
+ # Simple order without cell
default_sequence = default_order_sequence + """
CreateNotVariatedResource
Tic
@@ -315,8 +316,6 @@ class TestPackingListMixin(TestOrderMixi
# build split deliveries manually. XXX ad-hoc
previous_tag = None
for delivery_builder in packing_list.getBuilderList():
- this_builder_tag = '%s_split_%s' % (packing_list.getPath(),
- delivery_builder.getId())
after_tag = []
if previous_tag:
after_tag.append(previous_tag)
@@ -573,60 +572,66 @@ class TestPackingListMixin(TestOrderMixi
child_simulation_movement = simulation_movement.objectValues()[0].objectValues()[0]
self.assertEquals(child_simulation_movement.getDeliveryValue(),None)
- def stepModifySimulationLineQuantity(self,sequence=None, sequence_list=None, **kw):
+ def stepCheckTwoSimulationLines(self, sequence):
"""
- Check if simulation movement are disconnected
+ Check there are exactly two simulation lines related to the packing list
+ line(s)
"""
- applied_rule = sequence.get('applied_rule')
- simulation_movement_list = applied_rule.objectValues()
-# self.assertEquals(len(simulation_movement_list),1)
- for simulation_movement in simulation_movement_list:
- simulation_movement.edit(quantity=self.default_quantity-1)
- simulation_movement.getDeliveryValue().edit(quantity=self.default_quantity-1)
- simulation_movement.expand()
+ simulation_movement_list = self._getSPLSimulationMovementList(sequence)
+ self.assertEquals(len(simulation_movement_list),2)
+
+ def _getSPLSimulationMovementList(self, sequence):
+ """ Get the simulation movement lines from sales packing list movements """
+ packing_list = sequence['packing_list']
+ movement_list = packing_list.getMovementList()
+ simulation_movement_list = []
+ for movement in movement_list:
+ simulation_movement_list.extend(
+ movement.getDeliveryRelatedValueList()
+ )
+ return simulation_movement_list
- def stepModifySimulationLineQuantityForMergedLine(self,sequence=None, sequence_list=None, **kw):
+ def stepModifySimulationLineQuantity(self,sequence=None, sequence_list=None, **kw):
"""
- Check if simulation movement are disconnected
+ Modify quantity on simulation lines related to SPL lines
"""
- applied_rule = sequence.get('applied_rule')
- simulation_movement_list = applied_rule.objectValues()
- self.assertEquals(len(simulation_movement_list),2)
+ simulation_movement_list = self._getSPLSimulationMovementList(sequence)
for simulation_movement in simulation_movement_list:
+ # we record the property so it doesn't get changed by expand with
+ # the value from a higher simulation level
+ simulation_movement.recordProperty('quantity')
simulation_movement.edit(quantity=self.default_quantity-1)
- simulation_movement.getDeliveryValue().edit(quantity=self.default_quantity-1)
+ #simulation_movement.getDeliveryValue().edit(quantity=self.default_quantity-1)
simulation_movement.expand()
def stepModifySimulationLineStartDate(self,sequence=None, sequence_list=None, **kw):
"""
- Modify simulation line start date
+ Modify start_date on simulation lines related to SPL lines
"""
- applied_rule = sequence.get('applied_rule')
- simulation_movement_list = applied_rule.objectValues()
- resource_list = sequence.get('resource_list')
+ simulation_movement_list = self._getSPLSimulationMovementList(sequence)
for simulation_movement in simulation_movement_list:
+ # we record the property so it doesn't get changed by expand with
+ # the value from a higher simulation level
simulation_movement.recordProperty('start_date')
simulation_movement.edit(start_date=self.datetime+15)
simulation_movement.expand()
def stepModifyOneSimulationLineStartDate(self,sequence=None, sequence_list=None, **kw):
"""
- Check if simulation movement are disconnected
+ Modify start_date on only one simulation line related to SPL lines
"""
- applied_rule = sequence.get('applied_rule')
- simulation_movement_list = applied_rule.objectValues()
- resource_list = sequence.get('resource_list')
- self.assertEquals(len(simulation_movement_list),len(resource_list))
+ simulation_movement_list = self._getSPLSimulationMovementList(sequence)
+ self.assertEquals(len(simulation_movement_list),
+ len(sequence['resource_list']))
simulation_movement_list[-1].recordProperty('start_date')
simulation_movement_list[-1].edit(start_date=self.datetime+15)
simulation_movement_list[-1].expand()
def stepModifySimulationLineResource(self,sequence=None, sequence_list=None, **kw):
"""
- Check if simulation movement are disconnected
+ Modify the resource on simulation lines related to SPL lines
"""
- applied_rule = sequence.get('applied_rule')
- simulation_movement_list = applied_rule.objectValues()
+ simulation_movement_list = self._getSPLSimulationMovementList(sequence)
resource_list = sequence.get('resource_list')
for simulation_movement in simulation_movement_list:
simulation_movement.recordProperty('resource')
@@ -635,10 +640,9 @@ class TestPackingListMixin(TestOrderMixi
def stepModifyOneSimulationLineResource(self,sequence=None, sequence_list=None, **kw):
"""
- Check if simulation movement are disconnected
+ Modify the resource on only one simulation line related to SPL lines
"""
- applied_rule = sequence.get('applied_rule')
- simulation_movement_list = applied_rule.objectValues()
+ simulation_movement_list = self._getSPLSimulationMovementList(sequence)
resource_list = sequence.get('resource_list')
simulation_movement_list[-1].recordProperty('resource')
simulation_movement_list[-1].edit(resource_value=resource_list[-1])
@@ -646,21 +650,22 @@ class TestPackingListMixin(TestOrderMixi
def stepNewPackingListAdoptPrevisionQuantity(self,sequence=None, sequence_list=None, **kw):
"""
- Check if simulation movement are disconnected
+ Solve quantity divergence on new_packing_list with 'Adopt Solver'
"""
packing_list = sequence.get('new_packing_list')
self._solveDivergence(packing_list, 'quantity', 'Adopt Solver')
- def stepUnifyDestinationWithDecision(self,sequence=None, sequence_list=None, **kw):
+ def stepAcceptDecisionDestination(self,sequence=None, sequence_list=None, **kw):
"""
- Check if simulation movement are disconnected
+ Solve destination divergence on packing_list with 'Adopt Solver'
"""
packing_list = sequence.get('packing_list')
self._solveDivergence(packing_list, 'destination', 'Accept Solver')
def stepUnifyStartDateWithDecision(self,sequence=None, sequence_list=None, **kw):
"""
- Check if simulation movement are disconnected
+ Solve start_date divergence on packing_list with the 'Unify Solver',
+ using the start_date of the packing_list.
"""
packing_list = sequence.get('packing_list')
self._solveDivergence(packing_list, 'start_date', 'Unify Solver',
@@ -668,11 +673,11 @@ class TestPackingListMixin(TestOrderMixi
def stepUnifyStartDateWithPrevision(self,sequence=None, sequence_list=None, **kw):
"""
- Check if simulation movement are disconnected
+ Solve start_date divergence on packing_list with the 'Unify Solver',
+ using the start_date of one of the simulation movements.
"""
packing_list = sequence.get('packing_list')
- applied_rule = sequence.get('applied_rule')
- simulation_movement_list = applied_rule.objectValues()
+ simulation_movement_list = self._getSPLSimulationMovementList(sequence)
self._solveDivergence(packing_list, 'start_date',
'Unify Solver', value=simulation_movement_list[-1].getStartDate())
@@ -719,9 +724,9 @@ class TestPackingListMixin(TestOrderMixi
packing_list_line = sequence.get('packing_list_line')
self.assertEquals(packing_list_line.getQuantity(),(self.default_quantity-1)*2)
- def stepCheckPackingListLineWithDifferentResource(self,sequence=None, sequence_list=None, **kw):
+ def stepCheckPackingListLineWithNewResource(self,sequence=None, sequence_list=None, **kw):
"""
- Look if the packing list has new previsions
+ Look if the packing list has new resource
"""
packing_list_line = sequence.get('packing_list_line')
new_resource = sequence.get('resource')
@@ -733,6 +738,11 @@ class TestPackingListMixin(TestOrderMixi
self.assertEquals(sorted(packing_list_line.getCausalityList()),
sorted(order_line_list))
+ def stepCheckPackingListLineWithPreviousResource(self, sequence=None):
+ packing_list_line = sequence.get('packing_list_line')
+ old_resource = sequence['resource_list'][-2]
+ self.assertEquals(packing_list_line.getResourceValue(), old_resource)
+
def stepCheckPackingListLineWithSameResource(self,sequence=None, sequence_list=None, **kw):
"""
Look if the packing list has new previsions
@@ -1009,7 +1019,6 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
DecreasePackingListLineQuantity
CheckPackingListIsCalculating
@@ -1028,13 +1037,12 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
ChangePackingListDestination
CheckPackingListIsCalculating
Tic
CheckPackingListIsDiverged
- UnifyDestinationWithDecision
+ AcceptDecisionDestination
Tic
CheckPackingListIsSolved
CheckPackingListIsNotDivergent
@@ -1048,7 +1056,6 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
ChangePackingListStartDate
CheckPackingListIsCalculating
@@ -1068,7 +1075,6 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
CheckSimulationConnected
DeletePackingListLine
@@ -1084,7 +1090,6 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
ModifySimulationLineQuantity
Tic
@@ -1103,7 +1108,6 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
ModifySimulationLineQuantity
Tic
@@ -1122,9 +1126,9 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence_with_duplicated_lines + """
- ModifySimulationLineQuantityForMergedLine
+ CheckTwoSimulationLines
+ ModifySimulationLineQuantity
Tic
CheckPackingListIsDiverged
AdoptPrevisionQuantity
@@ -1141,9 +1145,9 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence_with_duplicated_lines + """
- ModifySimulationLineQuantityForMergedLine
+ CheckTwoSimulationLines
+ ModifySimulationLineQuantity
Tic
CheckPackingListIsDiverged
AcceptDecisionQuantity
@@ -1156,14 +1160,10 @@ class TestPackingList(TestPackingListMix
sequence_list.play(self, quiet=quiet)
- # This test does not work as it is because of the different behaviour of
- # Adopt Solver.
- @newSimulationExpectedFailure
def test_05d_SimulationChangeResourceOnOneSimulationMovementForMergedLine(self, quiet=quiet, run=run_all_test):
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence_with_duplicated_lines + """
CreateNotVariatedResource
ModifyOneSimulationLineResource
@@ -1171,9 +1171,24 @@ class TestPackingList(TestPackingListMix
CheckPackingListIsDiverged
AdoptPrevisionResource
Tic
+ # Trying to Solve the divergence above with one simulation
+ # movement changes the resource
+ CheckPackingListLineWithNewResource
+ # but doesn't solve the divergence as it is now divergent with the
+ # other simulation movement
+ CheckPackingListIsDiverged
+ # solving again reverts the value.
+ AdoptPrevisionResource
+ Tic
+ CheckPackingListLineWithPreviousResource
+ # but now the packing list is divergent with the previous
+ # simulation movement
+ CheckPackingListIsDiverged
+ # We have to chose one of them and accept the decision
+ AcceptDecisionResource
+ Tic
CheckPackingListIsNotDivergent
CheckPackingListIsSolved
- CheckPackingListLineWithDifferentResource
"""
sequence_list.addSequenceString(sequence_string)
@@ -1183,7 +1198,6 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence_with_two_lines + """
ModifySimulationLineResource
Tic
@@ -1198,15 +1212,14 @@ class TestPackingList(TestPackingListMix
sequence_list.play(self, quiet=quiet)
- @newSimulationExpectedFailure
def test_05f_SimulationChangeAndPartialAcceptDecision(self, quiet=quiet, run=run_all_test):
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence_with_duplicated_lines + """
CreateNotVariatedResource
- ModifySimulationLineQuantityForMergedLine
+ CheckTwoSimulationLines
+ ModifySimulationLineQuantity
ModifyOneSimulationLineResource
ModifySimulationLineStartDate
Tic
@@ -1231,12 +1244,10 @@ class TestPackingList(TestPackingListMix
# an applied rule which with the new simulation structure is not the same as
# in the original test packing list.
- @newSimulationExpectedFailure
def test_06_SimulationChangeStartDate(self, quiet=quiet, run=run_all_test):
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
ModifySimulationLineStartDate
Tic
@@ -1251,12 +1262,10 @@ class TestPackingList(TestPackingListMix
sequence_list.play(self, quiet=quiet)
- @newSimulationExpectedFailure
def test_07_SimulationChangeStartDateWithTwoOrderLine(self, quiet=quiet, run=run_all_test):
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence_with_two_lines + """
ModifySimulationLineStartDate
Tic
@@ -1273,12 +1282,10 @@ class TestPackingList(TestPackingListMix
sequence_list.play(self, quiet=quiet)
- @newSimulationExpectedFailure
def test_07a_SimulationChangeStartDateWithTwoOrderLine(self, quiet=quiet, run=run_all_test):
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence_with_two_lines + """
ModifyOneSimulationLineStartDate
Tic
@@ -1299,7 +1306,6 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
AddPackingListContainer
AddPackingListContainerLine
@@ -1315,7 +1321,6 @@ class TestPackingList(TestPackingListMix
sequence_list.play(self, quiet=quiet)
- @newSimulationExpectedFailure
def test_09_AddContainersWithVariatedResources(self, quiet=quiet, run=run_all_test):
if not run: return
sequence_list = SequenceList()
@@ -1356,7 +1361,6 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
IncreasePackingListLineQuantity
CheckPackingListIsCalculating
@@ -1383,7 +1387,6 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
DecreasePackingListLineQuantity
CheckPackingListIsCalculating
@@ -1418,7 +1421,6 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
IncreasePackingListLineQuantity
CheckPackingListIsCalculating
@@ -1442,7 +1444,6 @@ class TestPackingList(TestPackingListMix
if not run: return
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
CreateNotVariatedResource
ChangePackingListLineResource
@@ -1517,7 +1518,6 @@ class TestPackingList(TestPackingListMix
delivery_builder.__class__.build = doNothing
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.confirmed_order_without_packing_list
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self)
@@ -1611,7 +1611,6 @@ class TestPackingList(TestPackingListMix
"""
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_order_sequence + """
CreateNotVariatedResource
CreateSourceAccount
@@ -1646,7 +1645,6 @@ class TestPackingList(TestPackingListMix
"""
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
DecreasePackingListLineQuantity
Tic
@@ -1674,7 +1672,6 @@ class TestPackingList(TestPackingListMix
"""
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = self.default_sequence + """
CreateNotVariatedResource
ChangePackingListLineResource
@@ -1868,7 +1865,6 @@ class TestSolvingPackingList(TestPacking
"""
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = """
SetUpAutomaticQuantityAcceptSolver
""" + self.default_sequence + """
@@ -1889,7 +1885,6 @@ class TestSolvingPackingList(TestPacking
"""
sequence_list = SequenceList()
- # Test with a simply order without cell
sequence_string = """
SetUpAutomaticQuantityAdoptSolver
""" + self.default_sequence + """
More information about the Erp5-report
mailing list