[Erp5-report] r45119 luke - /erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Apr 6 10:28:31 CEST 2011
Author: luke
Date: Wed Apr 6 10:28:31 2011
New Revision: 45119
URL: http://svn.erp5.org?rev=45119&view=rev
Log:
- new test to cover case of workflow chains modification which shall remove
workflow from type chain list
Modified:
erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
Modified: erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testBusinessTemplate.py?rev=45119&r1=45118&r2=45119&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBusinessTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testBusinessTemplate.py [utf8] Wed Apr 6 10:28:31 2011
@@ -1435,6 +1435,17 @@ class TestBusinessTemplate(ERP5TypeTestC
present = 1
self.assertEqual(present, 1)
+ def stepAppendWorkflowToBusinessTemplate(self, sequence=None, sequence_list=None, **kw):
+ """
+ Add workflow to business template
+ """
+ bt = sequence.get('current_bt', None)
+ self.failUnless(bt is not None)
+ wf_ids = list(bt.getTemplateWorkflowIdList())
+ wf_ids.append(sequence.get('workflow_id', ''))
+ self.assertEqual(len(wf_ids), 2)
+ bt.edit(template_workflow_id_list=wf_ids)
+
def stepAddWorkflowToBusinessTemplate(self, sequence=None, sequence_list=None, **kw):
"""
Add workflow to business template
@@ -1446,6 +1457,16 @@ class TestBusinessTemplate(ERP5TypeTestC
self.assertEqual(len(wf_ids), 1)
bt.edit(template_workflow_id_list=wf_ids)
+ def stepAppendWorkflowChainToBusinessTemplate(self, sequence=None, sequence_list=None, **kw):
+ """
+ Add workflow to business template
+ """
+ bt = sequence.get('current_bt', None)
+ self.failUnless(bt is not None)
+ wf_chain_ids = list(bt.getTemplatePortalTypeWorkflowChainList())
+ wf_chain_ids.append('Geek Object | %s' % sequence.get('workflow_id', ''))
+ bt.edit(template_portal_type_workflow_chain_list=wf_chain_ids)
+
def stepAddWorkflowChainToBusinessTemplate(self, sequence=None, sequence_list=None, **kw):
"""
Add workflow to business template
@@ -5856,6 +5877,28 @@ class TestBusinessTemplate(ERP5TypeTestC
self.assertNotEqual(new_bt, newer_bt)
self.assertEqual(newer_bt.getRevision(), second_revision)
+ def stepCreateCustomAnotherWorkflow(self, sequence=None, sequence_list=None, **kw):
+ """
+ Create a custom workflow
+ """
+ wf_id = 'custom_another_geek_workflow'
+ pw = self.getWorkflowTool()
+ addWorkflowByType(pw, WORKFLOW_TYPE, wf_id)
+ workflow = pw._getOb(wf_id, None)
+ self.failUnless(workflow is not None)
+ sequence.edit(workflow_id=workflow.getId())
+ cbt = pw._chains_by_type
+ props = {}
+ if cbt is not None:
+ for id, wf_ids in cbt.items():
+ props['chain_%s' % id] = ','.join(wf_ids)
+ key = 'chain_Geek Object'
+ if props.has_key(key):
+ props[key] = '%s,%s' % (props[key], wf_id)
+ else:
+ props[key] = wf_id
+ pw.manage_changeWorkflows('', props=props)
+
def stepCreateCustomWorkflow(self, sequence=None, sequence_list=None, **kw):
"""
Create a custom workflow
@@ -5892,6 +5935,22 @@ class TestBusinessTemplate(ERP5TypeTestC
description='custom bt for unit_test')
sequence.edit(export_bt=template)
+ def stepCheckCustomAnotherWorkflowChain(self, sequence=None, sequence_list=None, **kw):
+ """
+ Check custom workflow chain
+ """
+ present = 0
+ pw = self.getWorkflowTool()
+ cbt = pw._chains_by_type
+ if cbt is not None:
+ for id, wf_ids in cbt.items():
+ if id == "Geek Object":
+ present = 1
+ self.assertEqual(present, 1)
+ self.assertSameSet(cbt['Geek Object'],
+ ('geek_workflow', 'custom_geek_workflow',
+ 'custom_another_geek_workflow'))
+
def stepCheckCustomWorkflowChain(self, sequence=None, sequence_list=None, **kw):
"""
Check custom workflow chain
@@ -5907,6 +5966,22 @@ class TestBusinessTemplate(ERP5TypeTestC
self.assertSameSet(cbt['Geek Object'],
('geek_workflow', 'custom_geek_workflow'))
+ def stepCheckAnotherWorkflowChain(self, sequence=None,
+ sequence_list=None, **kw):
+ """
+ Check original workflow chain
+ """
+ present = 0
+ pw = self.getWorkflowTool()
+ cbt = pw._chains_by_type
+ if cbt is not None:
+ for id, wf_ids in cbt.items():
+ if id == "Geek Object":
+ present = 1
+ self.assertEqual(present, 1)
+ self.assertSameSet(cbt['Geek Object'],
+ ('geek_workflow', 'custom_another_workflow'))
+
def stepCheckOriginalWorkflowChain(self, sequence=None,
sequence_list=None, **kw):
"""
@@ -6113,6 +6188,97 @@ class TestBusinessTemplate(ERP5TypeTestC
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self, quiet=quiet)
+ def test_35a_UpdatePartialWorkflowChainWithRemove(self):
+ """Check that chains are correctly removed during update
+
+ When previous business template defined that object is associated
+ with workflows A, B, C and that new one says that only A and C
+ associations are required check that after installing only A and C
+ will be on workflow chains."""
+ sequence_list = SequenceList()
+ sequence_string = '\
+ CreatePortalType \
+ CreateWorkflow \
+ CheckOriginalWorkflowChain \
+ CreateNewBusinessTemplate \
+ UseExportBusinessTemplate \
+ AddWorkflowToBusinessTemplate \
+ AddWorkflowChainToBusinessTemplate \
+ CheckModifiedBuildingState \
+ CheckNotInstalledInstallationState \
+ BuildBusinessTemplate \
+ CheckBuiltBuildingState \
+ CheckNotInstalledInstallationState \
+ CheckObjectPropertiesInBusinessTemplate \
+ SaveBusinessTemplate \
+ CheckBuiltBuildingState \
+ CheckNotInstalledInstallationState \
+ RemoveWorkflow \
+ CheckEmptyWorkflowChain \
+ RemoveBusinessTemplate \
+ RemoveAllTrashBins \
+ ImportBusinessTemplate \
+ UseImportBusinessTemplate \
+ CheckBuiltBuildingState \
+ CheckNotInstalledInstallationState \
+ InstallBusinessTemplate \
+ CheckOriginalWorkflowChain \
+ Tic \
+ \
+ CreateCustomWorkflow \
+ CheckCustomWorkflowChain \
+ CreateCustomBusinessTemplate \
+ UseExportBusinessTemplate \
+ AddWorkflowToBusinessTemplate \
+ AddWorkflowChainToBusinessTemplate \
+ BuildBusinessTemplate \
+ SaveBusinessTemplate \
+ RemoveWorkflow \
+ CheckOriginalWorkflowChain \
+ RemoveBusinessTemplate \
+ RemoveAllTrashBins \
+ ImportBusinessTemplate \
+ UseImportBusinessTemplate \
+ InstallBusinessTemplate \
+ Tic \
+ \
+ CheckCustomWorkflowChain \
+ \
+ CopyBusinessTemplate \
+ Tic \
+ CreateCustomAnotherWorkflow \
+ CheckCustomAnotherWorkflowChain \
+ AppendWorkflowToBusinessTemplate \
+ AppendWorkflowChainToBusinessTemplate \
+ BuildBusinessTemplate \
+ SaveBusinessTemplate \
+ RemoveWorkflow \
+ CheckCustomWorkflowChain \
+ RemoveBusinessTemplate \
+ RemoveAllTrashBins \
+ ImportBusinessTemplate \
+ UseImportBusinessTemplate \
+ InstallBusinessTemplate \
+ Tic \
+ \
+ CheckCustomAnotherWorkflowChain \
+ \
+ RemoveWorkflowFromBusinessTemplate \
+ RemoveWorkflowChainFromBusinessTemplate \
+ BuildBusinessTemplate \
+ CheckBuiltBuildingState \
+ SaveBusinessTemplate \
+ ImportBusinessTemplate \
+ Tic \
+ UseImportBusinessTemplate \
+ InstallWithoutForceBusinessTemplate \
+ Tic \
+ CheckAnotherWorkflowChain \
+ CheckWorkflowChainExists \
+ '
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self)
+
def stepCreatePortalTypeRole(self, sequence=None, sequence_list=None, **kw):
"""
Create portal type role
More information about the Erp5-report
mailing list