diff --git a/product/ERP5/tests/testBPMCore.py b/product/ERP5/tests/testBPMCore.py index b81645d72339ffaad8dd6765827ce9d468fbebd7..8c50fabef0bcbea4274d38da737a445bdb60ea76 100644 --- a/product/ERP5/tests/testBPMCore.py +++ b/product/ERP5/tests/testBPMCore.py @@ -928,6 +928,11 @@ class TestBPMMixin(ERP5TypeTestCase): def stepCreateTradeCondition(self, sequence=None, **kw): sequence.edit(trade_condition = self.createTradeCondition()) + def stepCreateInvoiceLine(self, sequence=None, **kw): + invoice = sequence.get('invoice') + invoice_line = invoice.newContent(portal_type=self.invoice_line_portal_type) + sequence.edit(invoice_line = invoice_line) + def stepCreateOrderLine(self, sequence=None, **kw): order = sequence.get('order') order_line = order.newContent(portal_type=self.order_line_portal_type) @@ -1041,6 +1046,48 @@ class TestBPMMixin(ERP5TypeTestCase): order_line_discounted_taxed = order_line ) + def stepModifyInvoiceLineTaxed(self, sequence=None, **kw): + invoice_line = sequence.get('invoice_line') + resource = sequence.get('product_taxed') + self.assertNotEqual(None, resource) + invoice_line.edit( + price=1.0, + quantity=2.0, + resource_value=resource + ) + sequence.edit( + invoice_line = None, + invoice_line_taxed = invoice_line + ) + + def stepModifyInvoiceLineDiscounted(self, sequence=None, **kw): + invoice_line = sequence.get('invoice_line') + resource = sequence.get('product_discounted') + self.assertNotEqual(None, resource) + invoice_line.edit( + price=3.0, + quantity=4.0, + resource_value=resource + ) + sequence.edit( + invoice_line = None, + invoice_line_discounted = invoice_line + ) + + def stepModifyInvoiceLineDiscountedTaxed(self, sequence=None, **kw): + invoice_line = sequence.get('invoice_line') + resource = sequence.get('product_discounted_taxed') + self.assertNotEqual(None, resource) + invoice_line.edit( + price=5.0, + quantity=6.0, + resource_value=resource + ) + sequence.edit( + invoice_line = None, + invoice_line_discounted_taxed = invoice_line + ) + def createTradeModelLine(self, document, **kw): return document.newContent( portal_type='Trade Model Line', @@ -1692,7 +1739,47 @@ class TestBPMTestCases(TestBPMMixin): def test_TradeModelRuleSimulationBuildInvoiceNewInvoiceLineSupport(self): """Check how is supported addition of invoice line to invoice build from order""" - raise NotImplementedError('TODO') + sequence_list = SequenceList() + sequence_string = self.TRADE_MODEL_RULE_SIMULATION_SEQUENCE_STRING + sequence_string += """ + ConfirmOrder + Tic + """ + self.AGGREGATED_AMOUNT_SIMULATION_CHECK_SEQUENCE_STRING + """ + GetPackingList + PackPackingList + Tic + """ + self.AGGREGATED_AMOUNT_SIMULATION_CHECK_SEQUENCE_STRING + """ + StartPackingList + StopPackingList + DeliverPackingList + Tic + """ + self.AGGREGATED_AMOUNT_SIMULATION_CHECK_SEQUENCE_STRING + """ + GetInvoice + CheckInvoiceCausalityStateSolved + CheckInvoiceNormalMovements + + CreateInvoiceLine + ModifyInvoiceLineDiscounted + CreateInvoiceLine + ModifyInvoiceLineDiscountedTaxed + CreateInvoiceLine + ModifyInvoiceLineTaxed + + Tic + + CheckInvoiceCausalityStateSolved + + StartInvoice + Tic + CheckInvoiceCausalityStateSolved + CheckInvoiceNormalMovements + CheckInvoiceAccountingMovements + StopInvoice + DeliverInvoice + Tic + """ + sequence_list.addSequenceString(sequence_string) + sequence_list.play(self) def test_TradeModelRuleSimulationBuildInvoiceInvoiceLineModifyDivergencyAndSolving(self): """Check that after changing invoice line invoice is properly diverged and it is possible to solve""" @@ -1753,9 +1840,6 @@ class TestBPMTestCases(TestBPMMixin): Tic CheckInvoiceCausalityStateSolved CheckInvoiceNormalMovements - GetInvoiceLineDiscounted - GetInvoiceLineDiscountedTaxed - GetInvoiceLineTaxed CheckInvoiceAccountingMovements StopInvoice DeliverInvoice