From d63b3223136bed7ba45db1810dc7883e5bcd52ae Mon Sep 17 00:00:00 2001 From: Kazuhiko Shiozaki <kazuhiko@nexedi.com> Date: Wed, 24 Mar 2010 16:06:42 +0000 Subject: [PATCH] use new simulation and now test_TradeModelRuleSimulationBuildInvoiceInvoiceLineModifyDivergencyAndSolving can pass with the Trade Model Solver. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@34063 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testTradeModelLine.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/product/ERP5/tests/testTradeModelLine.py b/product/ERP5/tests/testTradeModelLine.py index 3e2d5e5f0c..e26cdb2165 100644 --- a/product/ERP5/tests/testTradeModelLine.py +++ b/product/ERP5/tests/testTradeModelLine.py @@ -30,14 +30,13 @@ import unittest import transaction -from Products.ERP5.tests.testBPMCore import TestBPMMixin +from Products.ERP5.tests.testERP5SimulationBPMCore import TestBPMMixin from Products.ERP5Type.tests.Sequence import SequenceList from DateTime import DateTime from Products.CMFCore.utils import getToolByName from Products.ERP5.PropertySheet.TradeModelLine import (TARGET_LEVEL_MOVEMENT, TARGET_LEVEL_DELIVERY) from Products.ERP5Type.tests.utils import createZODBPythonScript -from Products.ERP5Type.tests.backportUnittest import expectedFailure class TestTradeModelLineMixin(TestBPMMixin): """Provides methods to implementations sharing similar logic to Trade Model Lines""" @@ -79,8 +78,6 @@ class TestTradeModelLine(TestTradeModelLineMixin): modified_invoice_line_quantity_ratio = modified_order_line_quantity_ratio \ = 2.5 - modified_packing_list_line_quantity_ratio = 0.5 - COMMON_DOCUMENTS_CREATION_SEQUENCE_STRING = """ CreateServiceTax CreateServiceDiscount @@ -133,6 +130,11 @@ class TestTradeModelLine(TestTradeModelLineMixin): Tic """ + AGGREGATED_AMOUNT_LIST_CHECK_SEQUENCE_STRING + # reset some values + def afterSetUp(self): + TestTradeModelLineMixin.afterSetUp(self) + self.modified_packing_list_line_quantity_ratio = 0.5 + # Helper methods def _solveDivergence(self, obj, property, decision, group='line'): kw = {'%s_group_listbox' % group:{}} @@ -241,7 +243,15 @@ class TestTradeModelLine(TestTradeModelLineMixin): def stepAcceptDecisionQuantityInvoice(self, sequence=None, **kw): invoice = sequence.get('invoice') - self._solveDivergence(invoice, 'quantity', 'accept') + solver_tool = self.portal.portal_solvers + solver_process = solver_tool.newSolverProcess(invoice) + for quantity_solver_decision in filter( + lambda x:x.getCausalityValue().getTestedProperty()=='quantity', + solver_process.contentValues()): + # use Trade Model Solver. + quantity_solver_decision.setSolverValue(self.portal.portal_types['Trade Model Solver']) + solver_process.buildTargetSolverList() + solver_process.solve() def stepAdoptPrevisionQuantityInvoice(self, sequence=None, **kw): invoice = sequence.get('invoice') @@ -2069,8 +2079,6 @@ class TestTradeModelLine(TestTradeModelLineMixin): sequence_list.addSequenceString(sequence_string) sequence_list.play(self, quiet=quiet) - # This test does not work without implementing an appropriate Trade Model Solver. - @expectedFailure def test_TradeModelRuleSimulationBuildInvoiceInvoiceLineModifyDivergencyAndSolving(self, quiet=quiet): """Check that after changing invoice line invoice is properly diverged and it is possible to solve""" sequence_list = SequenceList() -- 2.30.9