diff --git a/product/ERP5/tests/testProductionOrderApparel.py b/product/ERP5/tests/testProductionOrderApparel.py index 1f27d09ae7311098d5cd4ee5da4173c79b785cbc..0ebd46819de17f4cba98259f70338a8f493080b6 100644 --- a/product/ERP5/tests/testProductionOrderApparel.py +++ b/product/ERP5/tests/testProductionOrderApparel.py @@ -38,6 +38,7 @@ from testOrder import TestOrderMixin class TestProductionOrderApparelMixin(TestOrderMixin): run_all_test = 1 + resource_portal_type = 'Apparel Model' order_portal_type = 'Production Order' order_line_portal_type = 'Production Order Line' supply_chain_portal_type = 'Supply Chain' diff --git a/product/ERP5/tests/testProductionPackingListApparel.py b/product/ERP5/tests/testProductionPackingListApparel.py index a3e6a4695925e583a2d80e74a47af4de6ef397a1..3773da9490ba0c43a40d0cacf1563754fea2f522 100644 --- a/product/ERP5/tests/testProductionPackingListApparel.py +++ b/product/ERP5/tests/testProductionPackingListApparel.py @@ -34,590 +34,11 @@ from zLOG import LOG from Products.ERP5Type.tests.Sequence import SequenceList from Products.CMFCore.utils import getToolByName from testProductionOrderApparel import TestProductionOrderApparelMixin -from testPackingList import TestPackingListMixin +from testProductionPackingList import TestProductionDelivery -class TestProductionPackingReportListMixin(TestProductionOrderApparelMixin, TestPackingListMixin, \ - ERP5TypeTestCase): - """Mixin for testing Production Packing Lists and Production Reports""" - - def modifyPackingListState(self, transition_name, - sequence,packing_list=None): - """ calls the workflow for the packing list """ - if packing_list is None: - packing_list = sequence.get('packing_list') - packing_list.portal_workflow.doActionFor(packing_list, transition_name) - - def stepAcceptDecisionProducedDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - self.modifyPackingListState('accept_decision_action', sequence=sequence, packing_list=packing_list) - - def stepAdoptPrevisionSupplyDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - self.modifyPackingListState('adopt_prevision_action', sequence=sequence, packing_list=packing_list) - - def stepAdoptPrevisionProducedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - self.modifyPackingListState('adopt_prevision_action', sequence=sequence, packing_list=packing_list) - - def stepAdoptPrevisionConsumedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - self.modifyPackingListState('adopt_prevision_action', sequence=sequence, packing_list=packing_list) - - def stepSetReadyProducedDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - self.modifyPackingListState('set_ready_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'ready') - - def stepStartProducedDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - self.modifyPackingListState('start_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'started') - - def stepStopProducedDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - self.modifyPackingListState('stop_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'stopped') - - def stepDeliverProducedDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - self.modifyPackingListState('deliver_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'delivered') - - def stepSetReadySupplyDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - self.modifyPackingListState('set_ready_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'ready') - - def stepStartSupplyDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - self.modifyPackingListState('start_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'started') - - def stepStopSupplyDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - self.modifyPackingListState('stop_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'stopped') - - def stepDeliverSupplyDeliveryPackingList(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - self.modifyPackingListState('deliver_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'delivered') - - def stepSetReadyProducedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - self.modifyPackingListState('set_ready_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'ready') - - def stepStartProducedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - self.modifyPackingListState('start_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'started') - - def stepStopProducedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - self.modifyPackingListState('stop_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'stopped') - - def stepDeliverProducedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - self.modifyPackingListState('deliver_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'delivered') - - def stepSetReadyConsumedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - self.modifyPackingListState('set_ready_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'ready') - - def stepStartConsumedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - self.modifyPackingListState('start_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'started') - - def stepStopConsumedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - self.modifyPackingListState('stop_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'stopped') - - def stepDeliverConsumedReport(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - self.modifyPackingListState('deliver_action', sequence=sequence, packing_list=packing_list) - self.assertEquals(packing_list.getSimulationState(), 'delivered') - - def stepDeceraseProducedDeliveryPackingListQuantity(self, sequence=None, sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - - for line in packing_list.getMovementList(): - line.edit( - quantity = line.getQuantity() - 1.0 - ) - - def stepCheckSourcingDeliverySimulationDecerasedQuantity(self, sequence=None, \ - sequence_list=None, **kw): - """ - TODO - """ - self.logMessage('TODO') - - def stepCheckSourcingDeliverySimulation(self, sequence=None, \ - sequence_list=None, **kw): - """ - Hardcoded delivery checks - """ - self.stepCheckSourcingSimulation(sequence,sequence_list,**kw) - - produced_movement = sequence.get('produced_movement') - operation_movement = sequence.get('operation_movement') - component_movement = sequence.get('component_movement') - supply_movement = sequence.get('supply_movement') - produced_delivery_movement = sequence.get('produced_delivery_movement') - - produced_delivery_packing_list = produced_delivery_movement.getDeliveryValue().getParentValue() - supply_delivery_packing_list = supply_movement.getDeliveryValue().getParentValue() - - produced_report = produced_movement.getDeliveryValue().getParentValue() - - operation_report = operation_movement.getDeliveryValue().getParentValue() - component_report = component_movement.getDeliveryValue().getParentValue() - self.assertEquals(operation_report, component_report) - consumed_report = operation_report - - # checks that simulations are same - # TODO: resources, quantities, dates, ... - self.assertEquals( - produced_delivery_movement.getSimulationState(), - produced_delivery_packing_list.getSimulationState() - ) - - self.assertEquals( - supply_movement.getSimulationState(), - supply_delivery_packing_list.getSimulationState() - ) - - self.assertEquals( - produced_movement.getSimulationState(), - produced_report.getSimulationState() - ) - - self.assertEquals( - component_movement.getSimulationState(), - consumed_report.getSimulationState() - ) - - self.assertEquals( - operation_movement.getSimulationState(), - consumed_report.getSimulationState() - ) - - sequence.edit( - produced_delivery_packing_list = produced_delivery_packing_list, - supply_delivery_packing_list = supply_delivery_packing_list, - produced_report = produced_report, - consumed_report = consumed_report, - ) - - def stepCheckProducedDeliveryPackingListIsConfirmed(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - - self.assertEquals( - 'confirmed', - packing_list.getSimulationState() - ) - - def stepCheckProducedDeliveryPackingListIsDelivered(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - - self.assertEquals( - 'delivered', - packing_list.getSimulationState() - ) - - def stepCheckSupplyDeliveryPackingListIsDelivered(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - - self.assertEquals( - 'delivered', - packing_list.getSimulationState() - ) - - def stepCheckProducedReportIsDelivered(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - - self.assertEquals( - 'delivered', - packing_list.getSimulationState() - ) - - def stepCheckConsumedReportIsDelivered(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - - self.assertEquals( - 'delivered', - packing_list.getSimulationState() - ) - - def stepCheckProducedDeliveryPackingListIsSolved(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - - self.assertEquals( - 'solved', - packing_list.getCausalityState() - ) - - def stepCheckProducedDeliveryPackingListIsDiverged(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - - self.assertEquals( - 'diverged', - packing_list.getCausalityState() - ) - - def stepCheckProducedDeliveryPackingListIsCalculating(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_delivery_packing_list') - - self.assertEquals( - 'calculating', - packing_list.getCausalityState() - ) - - def stepCheckSupplyDeliveryPackingListIsConfirmed(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - - self.assertEquals( - 'confirmed', - packing_list.getSimulationState() - ) - - def stepCheckSupplyDeliveryPackingListIsSolved(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - - self.assertEquals( - 'solved', - packing_list.getCausalityState() - ) - - def stepCheckSupplyDeliveryPackingListIsDiverged(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('supply_delivery_packing_list') - - self.assertEquals( - 'diverged', - packing_list.getCausalityState() - ) - - def stepCheckProducedReportIsConfirmed(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - - self.assertEquals( - 'confirmed', - packing_list.getSimulationState() - ) - - def stepCheckProducedReportIsSolved(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - - self.assertEquals( - 'solved', - packing_list.getCausalityState() - ) - - def stepCheckProducedReportIsDiverged(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('produced_report') - - self.assertEquals( - 'diverged', - packing_list.getCausalityState() - ) - - def stepCheckConsumedReportIsConfirmed(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - - self.assertEquals( - 'confirmed', - packing_list.getSimulationState() - ) - - def stepCheckConsumedReportIsSolved(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - - self.assertEquals( - 'solved', - packing_list.getCausalityState() - ) - - def stepCheckConsumedReportIsDiverged(self, sequence=None, \ - sequence_list=None, **kw): - packing_list = sequence.get('consumed_report') - - self.assertEquals( - 'diverged', - packing_list.getCausalityState() - ) - -class TestProductionDeliveryApparel(TestProductionPackingReportListMixin): - """Test Production Packing Lists and Reports, mostly based on Production Orders""" - - run_all_test = 1 - - def test_01_sourcingDelivery(self, quiet=0, - run=run_all_test): - """ - Test for sourcing type of delivery (Production Report and Production Packing Lists). - """ - if not run: return - - delivery_check_sequence_string = self.SOURCING_ORDER_SEQUENCE + '\ - CheckSourcingDeliverySimulation \ - \ - CheckProducedDeliveryPackingListIsConfirmed \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsConfirmed \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsSolved\ - \ - ' - - sequence_list = SequenceList() - # Check states of deliveries, just after order confirmation - sequence_string = delivery_check_sequence_string - sequence_list.addSequenceString(sequence_string) - - # Test when packing list are delivered one by one - # Note: I (Luke) know, that below sequence is long - # but I wanted to be sure, that full production - # process is doable. - sequence_string = delivery_check_sequence_string + '\ - SetReadyProducedDeliveryPackingList \ - StartProducedDeliveryPackingList \ - StopProducedDeliveryPackingList \ - DeliverProducedDeliveryPackingList \ - Tic \ - \ - CheckSourcingDeliverySimulation \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsConfirmed \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsSolved\ - \ - SetReadySupplyDeliveryPackingList \ - StartSupplyDeliveryPackingList \ - StopSupplyDeliveryPackingList \ - DeliverSupplyDeliveryPackingList \ - Tic \ - \ - CheckSourcingDeliverySimulation \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsSolved\ - \ - SetReadyProducedReport \ - StartProducedReport \ - StopProducedReport \ - DeliverProducedReport \ - Tic \ - \ - CheckSourcingDeliverySimulation \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsDelivered \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsSolved\ - \ - SetReadyConsumedReport \ - StartConsumedReport \ - StopConsumedReport \ - DeliverConsumedReport \ - Tic \ - \ - CheckSourcingDeliverySimulation \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsDelivered \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsDelivered \ - CheckConsumedReportIsSolved\ - \ - ' - sequence_list.addSequenceString(sequence_string) - - # Check a case, when Produced Delivery Packing List is diverged - # then accept this decision, next deliver it, then adopt prevision - # on rest of documents and deliver them - do it one by one - sequence_string = delivery_check_sequence_string + '\ - DeceraseProducedDeliveryPackingListQuantity \ - \ - CheckProducedDeliveryPackingListIsCalculating \ - Tic \ - CheckProducedDeliveryPackingListIsDiverged \ - AcceptDecisionProducedDeliveryPackingList \ - Tic \ - CheckProducedDeliveryPackingListIsSolved \ - CheckSourcingDeliverySimulationDecerasedQuantity \ - \ - CheckSupplyDeliveryPackingListIsConfirmed \ - CheckSupplyDeliveryPackingListIsDiverged\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsDiverged\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - SetReadyProducedDeliveryPackingList \ - StartProducedDeliveryPackingList \ - StopProducedDeliveryPackingList \ - DeliverProducedDeliveryPackingList \ - Tic \ - \ - CheckSourcingDeliverySimulationDecerasedQuantity \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsConfirmed \ - CheckSupplyDeliveryPackingListIsDiverged\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsDiverged\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - AdoptPrevisionSupplyDeliveryPackingList \ - Tic \ - CheckSupplyDeliveryPackingListIsSolved \ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsDiverged\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - SetReadySupplyDeliveryPackingList \ - StartSupplyDeliveryPackingList \ - StopSupplyDeliveryPackingList \ - DeliverSupplyDeliveryPackingList \ - Tic \ - \ - CheckSourcingDeliverySimulationDecerasedQuantity \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsConfirmed \ - CheckProducedReportIsDiverged\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - AdoptPrevisionProducedReport \ - Tic \ - CheckProducedReportIsSolved \ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - SetReadyProducedReport \ - StartProducedReport \ - StopProducedReport \ - DeliverProducedReport \ - Tic \ - \ - CheckSourcingDeliverySimulationDecerasedQuantity \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved \ - \ - CheckProducedReportIsDelivered \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsConfirmed \ - CheckConsumedReportIsDiverged\ - \ - AdoptPrevisionConsumedReport \ - Tic \ - CheckProducedReportIsSolved \ - \ - SetReadyConsumedReport \ - StartConsumedReport \ - StopConsumedReport \ - DeliverConsumedReport \ - Tic \ - \ - CheckSourcingDeliverySimulationDecerasedQuantity \ - \ - CheckProducedDeliveryPackingListIsDelivered \ - CheckProducedDeliveryPackingListIsSolved\ - \ - CheckSupplyDeliveryPackingListIsDelivered \ - CheckSupplyDeliveryPackingListIsSolved\ - \ - CheckProducedReportIsDelivered \ - CheckProducedReportIsSolved\ - \ - CheckConsumedReportIsDelivered \ - CheckConsumedReportIsSolved\ - \ - ' - sequence_list.addSequenceString(sequence_string) - - sequence_list.play(self) +class TestProductionDeliveryApparel(TestProductionOrderApparelMixin,TestProductionDelivery, + ERP5TypeTestCase): + pass # everything defined in testProductionPackingList shall pass def test_suite(): suite = unittest.TestSuite()