[Erp5-report] r18699 - /erp5/trunk/products/ERP5/tests/testBusinessTemplate.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Jan 14 18:15:39 CET 2008


Author: romain
Date: Mon Jan 14 18:15:39 2008
New Revision: 18699

URL: http://svn.erp5.org?rev=18699&view=rev
Log:
Check that business template does not remove all chains when it has to remove
only one.

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=18699&r1=18698&r2=18699&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBusinessTemplate.py (original)
+++ erp5/trunk/products/ERP5/tests/testBusinessTemplate.py Mon Jan 14 18:15:39 2008
@@ -1024,8 +1024,10 @@
     props = {}
     if cbt is not None:
       for id, wf_ids in cbt.items():
-        if id != "Geek Object":
-          props['chain_%s' % id] = ','.join(wf_ids)
+        wf_ids = list(wf_ids)
+        if id == "Geek Object":
+          wf_ids.remove(wf_id)
+        props['chain_%s' % id] = ','.join(wf_ids)
     pw.manage_changeWorkflows('', props=props)
 
   def stepCheckWorkflowExists(self, sequence=None, sequence_list=None, **kw):
@@ -4438,6 +4440,151 @@
     self.assertEquals(test_web.getTitle(), 'test_web')
     self.assertTrue(test_web.getRevision())
 
+  def stepCreateCustomWorkflow(self, sequence=None, sequence_list=None, **kw):
+    """
+    Create a custom workflow
+    """
+    pw = self.getWorkflowTool()
+    pw.manage_addWorkflow('dc_workflow (Web-configurable workflow)', 
+                          'custom_geek_workflow')
+    workflow = pw._getOb('custom_geek_workflow', 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,custom_geek_workflow' % props[key]
+    else:
+      props['chain_Geek Object'] = 'custom_geek_workflow'
+    pw.manage_changeWorkflows('', props=props)
+
+  def stepCreateCustomBusinessTemplate(self, sequence=None, 
+                                       sequence_list=None, **kw):
+    """
+    Create a custom Business Template
+    """
+    pt = self.getTemplateTool()
+    template = pt.newContent(portal_type='Business Template')
+    self.failUnless(template.getBuildingState() == 'draft')
+    self.failUnless(template.getInstallationState() == 'not_installed')
+    template.edit(title='custom geek template',
+                  version='1.0',
+                  description='custom bt for unit_test')
+    sequence.edit(export_bt=template)
+
+  def stepCheckCustomWorkflowChain(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'))
+
+  def stepCheckOriginalWorkflowChain(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', ))
+
+  def stepCheckEmptyWorkflowChain(self, sequence=None, 
+                                  sequence_list=None, **kw):
+    """
+    Check that workflow chain is empty
+    """
+    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
+          break
+    if present:
+      self.assertEqual(0, len(wf_ids))
+
+  def test_34_PartialWorkflowChain(self, quiet=quiet, run=run_all_test):
+    if not run: return
+    if not quiet:
+      message = 'Test Upgrade Form'
+      ZopeTestCase._print('\n%s ' % message)
+      LOG('Testing... ', 0, message)
+    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 \
+                       \
+                       UninstallBusinessTemplate \
+                       Tic \
+                       CheckOriginalWorkflowChain \
+                       CheckWorkflowChainExists \
+                       '
+    sequence_list.addSequenceString(sequence_string)
+    sequence_list.play(self, quiet=quiet)
 
 def test_suite():
   suite = unittest.TestSuite()




More information about the Erp5-report mailing list