Commit fbcbe32e authored by Aurel's avatar Aurel

modify unit test to use new worfklow state and transition

add more checks on the stock


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@24416 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 196f230f
master HBTreeFolder2 allow_login_change allow_login_change_wip arnau arnau-kns arnau-kns-without-property-mapping arnau-merge arnau-poc auto_extend_select_list autoflake backup_erp5_workflow bk_erp5ish_actions_tool bk_sqlcatalog boc-interaction-drop bt_owner cache catalog_fulltext catalog_fulltext_old cedric cedriclen cedriclen-eos certificate_authority cleanJSByJSLint clean_up_upgrader compact_title_no_reference credential_update_action datetimefield deferred_listbox douglas_forum dream_distributor drop-legacy-simulation eos-dev erp5-component erp5-data-notebook erp5-forum erp5-preference erp5-release erp5-slapos-upgrade erp5-util-testing erp5-vifib erp5-vifib-cleanup erp5_calendar erp5_free_subscription erp5_workflow fix_system_processes_ownership for_testrunner_1 gabriel gabriel-fix-rounding-in-accounting-generation gabriel-fix-rounding-in-accounting-generation2 gadget-json-value http_cache_fix imageEditor improve_default_caching_policy_manager interaction-drop isDeletable item_tracking_graph_editor ivan jerome-bt-reference-doc jerome-test jerome_composition_archived jerome_events jerome_graph_editor jerome_graph_editor_renderjs jerome_new_style_solve_divergence jerome_promise_in_tests jerome_user_preference_time_zone jio joblib-backend joblib_improv joblib_new joblib_tests kns lazy_simulation_causality lignan lingnan listbox-generator mame mame-bt5-cleanup mame-erp5_project-cleanup mame-naming-convention mame-naming-convention-list_method mame-test-stock-indexation mame-work mame2 master-erp5-test-result-scalability master-erp5-test-result-scalability-rebase master-test-fix-additionalbt5path master_no_guard_on_workflow_transition merge_xhtml_jquery mmariani-inventory mrp new-render-presentation new_exp nexedi-erp5-jp notification_tool_constraint ods_style_sheet_per_report_section_deferred_style officejs officejs_ui pdfjs pdfjs-test pere portal_solver_process_security_configuration presentation rafael rafael-interaction-drop-cleanup rafael-promise rafael-taskdistribution rebased_mrp romain-fulltext scalability-master2 scalability-master2-rebase scalability-rebase shop-box shop-box-rebased simulation sms_activate spreadsheet strict_catalog syncml test_page testnode_software_link timezones tristan tristan-merge tristan-performance ttr ttrm upgradeSite vivekpab_erp5webrenderjs_layoutconfig vivekpab_jabberclient vivekpab_renderjs_interfaces webrtc webrtc_gadget wenjie wenjie_branch xiaowu_newui yryr yryr-components-cp yryr-inventory-cache yryr-test yryr-with-components yusei erp5.util-0.4.44 erp5.util-0.4.43 erp5.util-0.4.41 erp5.util-0.4.40 erp5.util-0.4.37 erp5.util-0.4.1 erp5.util-0.4 erp5.util-0.3 erp5.util-0.2 erp5.util-0.1
No related merge requests found
......@@ -71,7 +71,7 @@ class TestERP5BankingMonetaryDestruction(TestERP5BankingMixin, ERP5TypeTestCase)
- create an invalid Line (quantity > available at source)
- check that the system behaves correctly
- pass "confirm_action" transition
- pass "plan_action" transition
- check that the new state is confirmed
- check that the source has been debited correctly (current < future)
- check amount, lines, ...
......@@ -624,7 +624,7 @@ class TestERP5BankingMonetaryDestruction(TestERP5BankingMixin, ERP5TypeTestCase)
self.stepTic()
# get state
state = self.monetary_destruction.getSimulationState()
# check state is confirmed
# check state is planned
self.assertEqual(state, 'planned')
# get workflow history
......@@ -635,10 +635,12 @@ class TestERP5BankingMonetaryDestruction(TestERP5BankingMixin, ERP5TypeTestCase)
"""
# check we have 5 banknotes of 10000 currently
self.assertEqual(self.simulation_tool.getCurrentInventory(node=self.source.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 5.0)
self.assertEqual(self.simulation_tool.getAvailableInventory(node=self.source.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 5.0)
# check we will have 0 banknote of 10000 after deliver
self.assertEqual(self.simulation_tool.getFutureInventory(node=self.source.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 0.0)
# check we have 24 banknotes of 5000 currently
self.assertEqual(self.simulation_tool.getCurrentInventory(node=self.source.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 24.0)
self.assertEqual(self.simulation_tool.getAvailableInventory(node=self.source.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 24.0)
# check we will have 0 banknote of 5000 after deliver
self.assertEqual(self.simulation_tool.getFutureInventory(node=self.source.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 0.0)
......@@ -649,14 +651,29 @@ class TestERP5BankingMonetaryDestruction(TestERP5BankingMixin, ERP5TypeTestCase)
"""
# check we have 5 banknotes of 10000 currently
self.assertEqual(self.simulation_tool.getCurrentInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 5.0)
self.assertEqual(self.simulation_tool.getAvailableInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 5.0)
# check we will have 0 banknote of 10000 after deliver
self.assertEqual(self.simulation_tool.getFutureInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 0.0)
# check we have 24 banknotes of 5000 currently
self.assertEqual(self.simulation_tool.getCurrentInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 24.0)
self.assertEqual(self.simulation_tool.getAvailableInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 24.0)
# check we will have 0 banknote of 5000 after deliver
self.assertEqual(self.simulation_tool.getFutureInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 0.0)
def stepCheckSourceDebitAvailableForExterne(self, sequence=None, sequence_list=None, **kwd):
"""
Check that compution of inventory at vault source is right after confirm and before deliver
"""
# check we have 5 banknotes of 10000 currently
self.assertEqual(self.simulation_tool.getCurrentInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 0.0)
# check we will have 0 banknote of 10000 after deliver
self.assertEqual(self.simulation_tool.getAvailableInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 0.0)
self.assertEqual(self.simulation_tool.getFutureInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 0.0)
# check we have 24 banknotes of 5000 currently
self.assertEqual(self.simulation_tool.getCurrentInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 0.0)
# check we will have 0 banknote of 5000 after deliver
self.assertEqual(self.simulation_tool.getAvailableInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 0.0)
self.assertEqual(self.simulation_tool.getFutureInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 0.0)
def stepValidateMonetaryDestruction(self, sequence=None, sequence_list=None, **kwd):
"""
......@@ -681,9 +698,11 @@ class TestERP5BankingMonetaryDestruction(TestERP5BankingMixin, ERP5TypeTestCase)
"""
# check we have 0 banknote of 10000
self.assertEqual(self.simulation_tool.getCurrentInventory(node=self.source.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 0.0)
self.assertEqual(self.simulation_tool.getAvailableInventory(node=self.source.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 0.0)
self.assertEqual(self.simulation_tool.getFutureInventory(node=self.source.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 0.0)
# check we have 0 banknote of 5000
self.assertEqual(self.simulation_tool.getCurrentInventory(node=self.source.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 0.0)
self.assertEqual(self.simulation_tool.getAvailableInventory(node=self.source.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 0.0)
self.assertEqual(self.simulation_tool.getFutureInventory(node=self.source.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 0.0)
......@@ -693,9 +712,11 @@ class TestERP5BankingMonetaryDestruction(TestERP5BankingMixin, ERP5TypeTestCase)
"""
# check we have 0 banknote of 10000
self.assertEqual(self.simulation_tool.getCurrentInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 0.0)
self.assertEqual(self.simulation_tool.getAvailableInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 0.0)
self.assertEqual(self.simulation_tool.getFutureInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_10000.getRelativeUrl()), 0.0)
# check we have 0 banknote of 5000
self.assertEqual(self.simulation_tool.getCurrentInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 0.0)
self.assertEqual(self.simulation_tool.getAvailableInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 0.0)
self.assertEqual(self.simulation_tool.getFutureInventory(node=self.source_for_externe.getRelativeUrl(), resource = self.billet_5000.getRelativeUrl()), 0.0)
def stepPlanMonetaryDestruction(self, sequence=None, sequence_list=None, **kwd):
......@@ -721,41 +742,41 @@ class TestERP5BankingMonetaryDestruction(TestERP5BankingMixin, ERP5TypeTestCase)
sequence=None, sequence_list=None, **kwd):
self.monetary_destruction.setSourceTotalAssetPrice('2400.0')
def stepOrderMonetaryDestruction(self, sequence=None, sequence_list=None, **kwd):
def stepStartMonetaryDestruction(self, sequence=None, sequence_list=None, **kwd):
"""
Confirm the monetary_destruction and check it
"""
# do the Workflow action
self.workflow_tool.doActionFor(self.monetary_destruction, 'order_action', wf_id='monetary_destruction_workflow')
self.workflow_tool.doActionFor(self.monetary_destruction, 'start_action', wf_id='monetary_destruction_workflow')
# execute tic
self.stepTic()
# get state
state = self.monetary_destruction.getSimulationState()
# check state is ordered
self.assertEqual(state, 'ordered')
# check state is started
self.assertEqual(state, 'started')
# get workflow history
workflow_history = self.workflow_tool.getInfoFor(ob=self.monetary_destruction, name='history', wf_id='monetary_destruction_workflow')
def stepConfirmMonetaryDestruction(self, sequence=None, sequence_list=None, **kwd):
def stepStopMonetaryDestruction(self, sequence=None, sequence_list=None, **kwd):
"""
Confirm the monetary_destruction and check it
"""
# do the Workflow action
self.workflow_tool.doActionFor(self.monetary_destruction, 'confirm_action', wf_id='monetary_destruction_workflow', stop_date=DateTime().Date())
self.workflow_tool.doActionFor(self.monetary_destruction, 'stop_action', wf_id='monetary_destruction_workflow', stop_date=DateTime().Date())
# execute tic
self.stepTic()
# get state
state = self.monetary_destruction.getSimulationState()
# check state is confirmed
self.assertEqual(state, 'confirmed')
# check state is stopped
self.assertEqual(state, 'stopped')
def stepConfirmToDeliverMonetaryDestruction(self, sequence=None, sequence_list=None, **kwd):
def stepStoppedToDeliverMonetaryDestruction(self, sequence=None, sequence_list=None, **kwd):
"""
Deliver the monetary_destruction with a good user
and check that the deliver of a cash tranfer have achieved
"""
# do the workflow transition "deliver_action"
self.workflow_tool.doActionFor(self.monetary_destruction, 'deliver_action', wf_id='monetary_destruction_workflow')
self.workflow_tool.doActionFor(self.monetary_destruction, 'stop_to_deliver_action', wf_id='monetary_destruction_workflow')
# execute tic
self.stepTic()
# get state of monetary_destruction
......@@ -811,20 +832,20 @@ class TestERP5BankingMonetaryDestruction(TestERP5BankingMixin, ERP5TypeTestCase)
+ 'CreateValidLine1 CheckSubTotal ' \
+ 'CreateValidLine2 CheckTotal ' \
+ 'CheckInitialInventory ' \
+ 'CreateInvalidLine ' \
+ 'CreateInvalidLine Tic ' \
+ 'TryPlannedMonetaryDestructionWithBadInventory ' \
+ 'DelInvalidLine Tic CheckTotal ' \
+ 'SetMonetaryDestructionSourceTotalAssetPrice ' \
+ 'Tic CheckWorklist ' \
+ 'PlannedMonetaryDestruction ' \
+ 'PlannedMonetaryDestruction Tic ' \
+ 'CheckSourceDebitPlanned ' \
+ 'ResetInventory Tic ' \
+ 'ValidateFails ' \
+ 'DeleteResetInventory Tic ' \
+ 'DeleteResetInventory ' \
+ 'Tic CheckWorklist ' \
+ 'ValidateMonetaryDestruction ' \
+ 'ValidateMonetaryDestruction Tic ' \
+ 'CheckSourceDebit ' \
+ 'Tic DelMonetaryDestruction Tic'
+ 'DelMonetaryDestruction Tic'
sequence_list.addSequenceString(sequence_string)
# This is the case of a destruction for another agency
......@@ -833,20 +854,19 @@ class TestERP5BankingMonetaryDestruction(TestERP5BankingMixin, ERP5TypeTestCase)
+ 'CreateValidLineForExterne1 CheckSubTotal ' \
+ 'CreateValidLineForExterne2 CheckTotal ' \
+ 'CheckInitialInventoryForExterne ' \
+ 'CreateInvalidLine ' \
+ 'CreateInvalidLine Tic ' \
+ 'TryPlannedMonetaryDestructionWithBadInventory ' \
+ 'DelInvalidLine Tic CheckTotal ' \
+ 'SetMonetaryDestructionSourceTotalAssetPrice ' \
+ 'PlanMonetaryDestruction ' \
+ 'CheckSourceDebitPlannedForExterne ' \
+ 'OrderMonetaryDestruction ' \
+ 'ConfirmMonetaryDestruction ' \
+ 'ResetInventoryForExterne Tic ' \
+ 'DeliverFails ' \
+ 'DeleteResetInventory Tic ' \
+ 'ConfirmToDeliverMonetaryDestruction ' \
+ 'StartMonetaryDestruction Tic ' \
+ 'CheckSourceDebitAvailableForExterne ' \
+ 'StopMonetaryDestruction Tic ' \
+ 'CheckSourceDebitAvailableForExterne ' \
+ 'StoppedToDeliverMonetaryDestruction Tic ' \
+ 'CheckSourceDebitForExterne ' \
+ 'Tic DelMonetaryDestruction Tic '
+ 'DelMonetaryDestruction Tic '
sequence_list.addSequenceString(another_sequence_string)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment