diff --git a/product/ERP5/tests/testERP5Simulation.py b/product/ERP5/tests/testERP5Simulation.py index e1e61cad92ccbfd430833cb9014046054875062b..d5ab8354174e8081cd5bc8495b87348a5e8e070e 100644 --- a/product/ERP5/tests/testERP5Simulation.py +++ b/product/ERP5/tests/testERP5Simulation.py @@ -69,8 +69,55 @@ class TestERP5SimulationMixin(TestInvoiceMixin): account.setGap(account_gap) account.setAccountType(account_type) portal.portal_workflow.doActionFor(account, 'validate_action') - - invoice_rule = portal.portal_rules.new_invoice_transaction_rule + invoice_rule = portal.portal_rules.newContent( + portal_type='Invoice Transaction Rule', + reference='default_invoice_transaction_rule', + title='Transaction Rule', + test_method_id= + 'SimulationMovement_testInvoiceTransactionRule', + version=100) + # matching provider for source and destination + for category in ('resource', 'source', 'destination', + 'destination_total_asset_price', + 'source_total_asset_price'): + invoice_rule.newContent( + portal_type='Category Membership Divergence Tester', + title='%s divergence tester' % category, + tested_property=category, + divergence_provider=False, + matching_provider=True) + # non-matching/non-divergence provider quantity divergence tester + # (i.e. only used for expand) + invoice_rule.newContent( + portal_type='Net Converted Quantity Divergence Tester', + title='quantity divergence tester', + tested_property='quantity', + quantity=0, + divergence_provider=False, + matching_provider=False) + # divergence provider for date + for property_id in ('start_date', 'stop_date'): + invoice_rule.newContent( + portal_type='DateTime Divergence Tester', + title='%s divergence tester' % property_id, + tested_property=property_id, + quantity=0, + divergence_provider=True, + matching_provider=False) + for category in ('source_administration', 'source_decision', 'source_function', 'source_payment', 'source_project', 'source_section', 'destination_administration', 'destination_decision', 'destination_function', 'destination_payment', 'destination_project', 'destination_section'): + invoice_rule.newContent( + portal_type='Category Membership Divergence Tester', + title='%s divergence tester' % category, + tested_property=category, + divergence_provider=True, + matching_provider=False) + invoice_rule.newContent( + portal_type='Float Divergence Tester', + title='price divergence tester', + tested_property='price', + quantity=0, + divergence_provider=True, + matching_provider=False) if invoice_rule.getValidationState() == 'validated': invoice_rule.invalidate()