[Erp5-report] r12654 - /erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Feb 13 14:07:26 CET 2007
Author: aurel
Date: Tue Feb 13 14:07:23 2007
New Revision: 12654
URL: http://svn.erp5.org?rev=12654&view=rev
Log:
add test that check wf and wf removed when upgrading a bt wich do not contain them anylonger
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=12654&r1=12653&r2=12654&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBusinessTemplate.py (original)
+++ erp5/trunk/products/ERP5/tests/testBusinessTemplate.py Tue Feb 13 14:07:23 2007
@@ -48,6 +48,7 @@
from Globals import PersistentMapping
from Products.CMFCore.Expression import Expression
from Products.CMFCore.tests.base.testcase import LogInterceptor
+from Products.ERP5Type.Document.BusinessTemplate import removeAll
import os
class TestBusinessTemplate(ERP5TypeTestCase, LogInterceptor):
@@ -167,6 +168,14 @@
Define export_bt as current bt
"""
bt = sequence.get('export_bt')
+ sequence.edit(current_bt=bt)
+
+ def stepUseSecondBusinessTemplate(self, sequence=None,
+ sequence_list=None, **kw):
+ """
+ Define second_export_bt as current bt
+ """
+ bt = sequence.get('second_export_bt')
sequence.edit(current_bt=bt)
def stepUseDependencyBusinessTemplate(self, sequence=None,
@@ -1807,6 +1816,26 @@
import_bt = sequence.get('import_bt')
import_bt.install(force=1)
+ def stepInstallWithoutForceBusinessTemplate(self, sequence=None, sequence_list=None, **kw):
+ """
+ Install importzed business template
+ """
+ import_bt = sequence.get('import_bt')
+ object_list = import_bt.preinstall()
+ install_object_dict = {}
+ for obj in object_list.keys():
+ state = object_list[obj][0]
+ if state == 'Removed':
+ install_state = 'save_and_remove'
+ elif state == 'Modified':
+ install_state = 'backup'
+ elif state == 'New':
+ install_state = 'install'
+ else:
+ install_state = ""
+ install_object_dict[obj] = install_state
+ import_bt.install(force=0, object_to_update=install_object_dict)
+
def stepInstallDuplicatedBusinessTemplate(self, sequence=None,
sequence_list=None, **kw):
"""
@@ -1840,6 +1869,19 @@
version='1.0',
description='bt for unit_test')
sequence.edit(export_bt=template)
+
+ def stepCreateSecondBusinessTemplate(self, sequence=None, sequence_list=None, **kw):
+ """
+ Create a second 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='geek template',
+ version='2.0',
+ description='bt for unit_test')
+ sequence.edit(second_export_bt=template)
def stepCreateDuplicatedBusinessTemplate(self, sequence=None,
sequence_list=None, **kw):
@@ -1881,6 +1923,8 @@
cfg = getConfiguration()
bt_title = pathname2url(template.getTitle())
template_path = os.path.join(cfg.instancehome, 'tests', '%s' % (bt_title,))
+ # remove previous version of bt it exists
+ removeAll(template_path)
template.export(path=template_path, local=1)
sequence.edit(template_path=template_path)
self.failUnless(os.path.exists(template_path))
@@ -2242,6 +2286,73 @@
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self, quiet=quiet)
+ def test_041_BusinessTemplateWithWorkflowRemoved(self, quiet=quiet, run=run_all_test):
+ if not run: return
+ if not quiet:
+ message = 'Test Business Template With Remove Of Workflow'
+ ZopeTestCase._print('\n%s ' % message)
+ LOG('Testing... ', 0, message)
+ sequence_list = SequenceList()
+ sequence_string = '\
+ CreatePortalType \
+ CreateWorkflow \
+ CreateNewBusinessTemplate \
+ UseExportBusinessTemplate \
+ AddWorkflowToBusinessTemplate \
+ AddWorkflowChainToBusinessTemplate \
+ CheckModifiedBuildingState \
+ CheckNotInstalledInstallationState \
+ BuildBusinessTemplate \
+ CheckBuiltBuildingState \
+ CheckNotInstalledInstallationState \
+ CheckObjectPropertiesInBusinessTemplate \
+ SaveBusinessTemplate \
+ CheckBuiltBuildingState \
+ CheckNotInstalledInstallationState \
+ RemoveWorkflow \
+ RemoveBusinessTemplate \
+ RemoveAllTrashBins \
+ ImportBusinessTemplate \
+ UseImportBusinessTemplate \
+ CheckBuiltBuildingState \
+ CheckNotInstalledInstallationState \
+ InstallBusinessTemplate \
+ Tic \
+ CheckInstalledInstallationState \
+ CheckBuiltBuildingState \
+ CheckNoTrashBin \
+ CheckSkinsLayers \
+ CheckWorkflowExists \
+ CheckWorkflowChainExists \
+ CreateSecondBusinessTemplate \
+ UseSecondBusinessTemplate \
+ CheckModifiedBuildingState \
+ CheckNotInstalledInstallationState \
+ BuildBusinessTemplate \
+ CheckBuiltBuildingState \
+ CheckNotInstalledInstallationState \
+ CheckObjectPropertiesInBusinessTemplate \
+ SaveBusinessTemplate \
+ CheckBuiltBuildingState \
+ CheckNotInstalledInstallationState \
+ RemoveBusinessTemplate \
+ RemoveAllTrashBins \
+ ImportBusinessTemplate \
+ UseImportBusinessTemplate \
+ CheckBuiltBuildingState \
+ CheckNotInstalledInstallationState \
+ InstallWithoutForceBusinessTemplate \
+ Tic \
+ CheckInstalledInstallationState \
+ CheckBuiltBuildingState \
+ CheckSkinsLayers \
+ CheckWorkflowRemoved \
+ CheckWorkflowChainRemoved \
+ '
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self, quiet=quiet)
+
+
# test of module
def test_05_BusinessTemplateWithModule(self, quiet=quiet, run=run_all_test):
if not run: return
@@ -2494,7 +2605,7 @@
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self, quiet=quiet)
- def test_091_BusinessTemplateDoNotUnindexObject(self, quiet=quiet, run=un_all_test):
+ def test_091_BusinessTemplateDoNotUnindexObject(self, quiet=quiet, run=run_all_test):
if not run: return
if not quiet:
message = 'Test Business Template Do Not Unindex Object At Build'
More information about the Erp5-report
mailing list