From a21ed8f740dbdc0d014dc46fb7c7ade2e2638c81 Mon Sep 17 00:00:00 2001 From: Romain Courteaud <romain@nexedi.com> Date: Wed, 9 Nov 2005 13:39:34 +0000 Subject: [PATCH] Add a new test. Copy a installed business template. Build the new one. Export/Import it. Try to install the imported one. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@4295 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testBusinessTemplate.py | 169 ++++++++++++++++++++- 1 file changed, 166 insertions(+), 3 deletions(-) diff --git a/product/ERP5/tests/testBusinessTemplate.py b/product/ERP5/tests/testBusinessTemplate.py index 006bdaf574..3f4fb6dde0 100755 --- a/product/ERP5/tests/testBusinessTemplate.py +++ b/product/ERP5/tests/testBusinessTemplate.py @@ -54,6 +54,7 @@ import os from Products.ERP5Type import product_path from DateTime import DateTime from App.config import getConfiguration +from Products.ERP5Type.tests.Sequence import Sequence, SequenceList class TestBusinessTemplate(ERP5TypeTestCase): """ @@ -67,11 +68,30 @@ class TestBusinessTemplate(ERP5TypeTestCase): - Upgrade a template """ + run_all_test = 1 + business_template_title = 'erp5_pdm' def getTitle(self): return "Business Template" - def test_01_checkTools(self, quiet=0): + def getBusinessTemplateList(self): + """ + Install erp5_pdm in order to make some test on it. + """ + return (self.business_template_title, ) + + def enableActivityTool(self): + """ + You can override this. + Return if we should create (1) or not (0) an activity tool. + """ + return 1 + + def stepTic(self,**kw): + self.tic() + + def test_01_checkTools(self, quiet=0, run=run_all_test): + if not run: return if not quiet: message = 'Test Check Tools' ZopeTestCase._print('\n%s ' % message) @@ -204,7 +224,8 @@ class TestBusinessTemplate(ERP5TypeTestCase): # FIXME: more objects must be removed. - def test_02_makeTemplate(self, quiet=0): + def test_02_makeTemplate(self, quiet=0, run=run_all_test): + if not run: return if not quiet: message = 'Test Make Template' ZopeTestCase._print('\n%s ' % message) @@ -249,6 +270,149 @@ class TestBusinessTemplate(ERP5TypeTestCase): # FIXME: check uninstalled objects here + def stepGetCurrentBusinessTemplate(self, sequence=None, + sequence_list=None, **kw): + """ + Get current business template. + """ + template_tool = self.getTemplateTool() + current_bt_sql = template_tool.searchFolder( + title=self.business_template_title) + self.failUnless(len(current_bt_sql) == 1) + current_bt = current_bt_sql[0].getObject() + sequence.edit(current_bt=current_bt) + + def stepCopyBusinessTemplate(self, sequence=None, sequence_list=None, **kw): + """ + Copy business template. + """ + current_bt = sequence.get('current_bt') + template_tool = self.getTemplateTool() + copy_data = template_tool.manage_copyObjects(ids=[current_bt.getId()]) + new_id_list = template_tool.manage_pasteObjects(copy_data) + self.failUnless(len(new_id_list) == 1) + new_bt = getattr(template_tool, new_id_list[0]['new_id']) + sequence.edit(new_bt=new_bt) + + def stepCreateNewBaseCategory(self, sequence=None, sequence_list=None, **kw): + """ + Create new base category. + """ + category_tool = self.getCategoryTool() + new_base_category_id = "fake_base_category" + new_base_category = category_tool.newContent(portal_type="Base Category", + id=new_base_category_id) + sequence.edit(new_base_category=new_base_category) + + def stepEditNewBT(self, sequence=None, sequence_list=None, **kw): + """ + Simply edit, in order to change the building status. + """ + new_bt = sequence.get('new_bt') + new_bt.edit() + + def stepAddNewBaseCategoryToNewBT(self, sequence=None, + sequence_list=None, **kw): + """ + Add the base category to the business template. + """ + new_bt = sequence.get('new_bt') + new_base_category = sequence.get('new_base_category') + base_category_id_list = list(new_bt.getTemplateBaseCategoryList()) + base_category_id_list.append(new_base_category.getId()) + new_bt.edit(template_base_category_list=base_category_id_list) + + def stepCheckModifiedBuildingState(self, sequence=None, + sequence_list=None, **kw): + """ + Check if the building state is modified. + """ + new_bt = sequence.get('new_bt') + self.assertEquals(new_bt.getBuildingState(), 'modified') + + def stepCheckBuiltBuildingState(self, sequence=None, + sequence_list=None, **kw): + """ + Check if the building state is built. + """ + new_bt = sequence.get('new_bt') + self.assertEquals(new_bt.getBuildingState(), 'built') + + def stepBuildNewBT(self, sequence=None, sequence_list=None, **kw): + """ + Build the business template. + """ + new_bt = sequence.get('new_bt') + new_bt.build() + + def stepExportNewBT(self, sequence=None, sequence_list=None, **kw): + """ + Export the business template. + """ + new_bt = sequence.get('new_bt') + cfg = getConfiguration() + template_path = os.path.join(cfg.instancehome, + 'tests', '%s' % (new_bt.getTitle(),)) + sequence.edit(template_path=template_path) + new_bt.export(path=template_path, local=1) + + def stepImportNewBT(self, sequence=None, sequence_list=None, **kw): + """ + Import the business template. + """ + template_tool = self.getTemplateTool() + + template_path = sequence.get('template_path') + template_tool.download(url='file:'+template_path, id='import_bt') + import_bt = template_tool._getOb(id='import_bt') + self.assertEquals(import_bt.getPortalType(), 'Business Template') + sequence.edit(new_bt=import_bt) + + def stepInstallNewBT(self, sequence=None, sequence_list=None, **kw): + """ + Build the business template. + """ + new_bt = sequence.get('new_bt') + new_bt.install() + + def test_03_update(self, quiet=0, run=run_all_test): + """ + Test to update a business template + """ + if not run: return + if not quiet: + message = 'Test Update Template' + ZopeTestCase._print('\n%s ' % message) + LOG('Testing... ', 0, message) + sequence_list = SequenceList() + # Copy + # Except after creating organisations + sequence_string = '\ + GetCurrentBusinessTemplate \ + CopyBusinessTemplate \ + EditNewBT \ + BuildNewBT \ + CheckBuiltBuildingState \ + ExportNewBT \ + ImportNewBT \ + Tic \ + InstallNewBT \ + ' +# sequence_string = '\ +# GetCurrentBusinessTemplate \ +# CopyBusinessTemplate \ +# CreateNewBaseCategory \ +# AddNewBaseCategoryToNewBT \ +# CheckModifiedBuildingState \ +# BuildNewBT \ +# CheckBuiltBuildingState \ +# ExportNewBT \ +# ImportNewBT \ +# Tic \ +# InstallNewBT \ +# ' + sequence_list.addSequenceString(sequence_string) + sequence_list.play(self) if __name__ == '__main__': framework() @@ -258,4 +422,3 @@ else: suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestBusinessTemplate)) return suite - -- 2.30.9