[Erp5-report] r36791 tatuya - /erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Jul 2 06:01:31 CEST 2010
Author: tatuya
Date: Fri Jul 2 06:01:30 2010
New Revision: 36791
URL: http://svn.erp5.org?rev=36791&view=rev
Log:
Reproduce a issue that BusinessTemplate wrongly removes the skins of another business template when upgrade a business template. In the test, erp5_geek and erp5_nerd has a same name view, and the view is removed from erp5_nerd, then the same name fields in another skin was wrongly removed, too.
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=36791&r1=36790&r2=36791&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBusinessTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testBusinessTemplate.py [utf8] Fri Jul 2 06:01:30 2010
@@ -701,6 +701,22 @@ class TestBusinessTemplate(ERP5TypeTestC
selection.append('erp5_geek')
ps.manage_skinLayers(skinpath = tuple(selection), skinname = skin_name, add_skin = 1)
+ def stepCreateAnotherSkinFolder(self, sequence=None, sequence_list=None, **kw):
+ """
+ Create another skin folder
+ """
+ ps = self.getSkinsTool()
+ ps.manage_addProduct['OFSP'].manage_addFolder('erp5_nerd')
+ skin_folder = ps._getOb('erp5_nerd', None)
+ self.failUnless(skin_folder is not None)
+ sequence.edit(another_skin_folder_id=skin_folder.getId())
+ # add skin in layers
+ for skin_name, selection in ps.getSkinPaths():
+ selection = selection.split(',')
+ if 'erp5_nerd' not in selection:
+ selection.append('erp5_nerd')
+ ps.manage_skinLayers(skinpath = tuple(selection), skinname = skin_name, add_skin = 1)
+
def stepCreateStaticSkinFolder(self, sequence=None, sequence_list=None, **kw):
"""
Create a skin folder not managed by the bt5
@@ -763,10 +779,10 @@ class TestBusinessTemplate(ERP5TypeTestC
group_dict[group] = id_list
sequence.edit(form_id=form_id, group_dict=group_dict)
- def stepCreateNewFormIntoErp5Base(self, sequence=None, sequence_list=None):
+ def stepCreateNewFormIntoErp5Nerd(self, sequence=None, sequence_list=None):
"""Create a new ERP5 Form in a skin folder."""
ps = self.getSkinsTool()
- skin_folder = ps._getOb('erp5_base', None)
+ skin_folder = ps._getOb('erp5_nerd', None)
self.assertNotEquals(skin_folder, None)
form_id = 'Geek_view'
addERP5Form = skin_folder.manage_addProduct['ERP5Form'].addERP5Form
@@ -785,6 +801,7 @@ class TestBusinessTemplate(ERP5TypeTestC
for field in form.get_fields_in_group(group):
id_list.append(field.getId())
group_dict[group] = id_list
+ sequence.edit(another_form_id=form_id)
def stepRemoveForm(self, sequence=None, sequence_list=None):
@@ -799,19 +816,6 @@ class TestBusinessTemplate(ERP5TypeTestC
form = skin_folder._getOb(form_id, None)
self.assertEquals(form, None)
- def stepRemoveFormFromErp5Base(self, sequence=None, sequence_list=None):
- """Remove an ERP5 Form."""
- ps = self.getSkinsTool()
- skin_folder = ps._getOb('erp5_base', None)
- self.assertNotEquals(skin_folder, None)
- form_id = sequence.get('form_id')
- form = skin_folder._getOb(form_id, None)
- self.assertNotEquals(form, None)
- skin_folder.manage_delObjects([form_id])
- form = skin_folder._getOb(form_id, None)
- self.assertEquals(form, None)
-
-
def stepAddFormField(self, sequence=None, sequence_list=None):
"""Add a field to an ERP5 Form."""
ps = self.getSkinsTool()
@@ -884,10 +888,10 @@ class TestBusinessTemplate(ERP5TypeTestC
form = skin_folder._getOb(form_id, None)
self.assertEquals(form, None)
- def stepCheckFormIsNotRemovedFromErp5Base(self, sequence=None, sequence_list=None):
- """Check the form is not exist in custom."""
+ def stepCheckFormIsNotRemovedFromErp5Nerd(self, sequence=None, sequence_list=None):
+ """Check the form is not exist in erp5_nerd."""
ps = self.getSkinsTool()
- skin_folder = ps._getOb('erp5_base', None)
+ skin_folder = ps._getOb('erp5_nerd', None)
self.assertNotEquals(skin_folder, None)
form_id = sequence.get('form_id')
form = skin_folder._getOb(form_id, None)
@@ -925,6 +929,17 @@ class TestBusinessTemplate(ERP5TypeTestC
id_list.append(field.getId())
self.assertEquals(group_dict[group], id_list)
+ def stepCheckFieldTitleIsNotRemovedFromErp5Nerd(self, sequence=None, sequence_list=None):
+ """Check that field title is not removed form erp5_nerd."""
+ ps = self.getSkinsTool()
+ skin_folder = ps._getOb('erp5_nerd', None)
+ self.assertNotEquals(skin_folder, None)
+ form_id = sequence.get('form_id')
+ form = skin_folder._getOb(form_id, None)
+ self.assertNotEquals(form, None)
+ title_filed =form._getOb('my_title', None)
+ self.assertNotEquals(title_filed, None)
+
def stepCreateNewObjectInSkinSubFolder(self, sequence=None, sequence_list=None, **kw):
"""
Create a new object in skin subfolder
@@ -995,6 +1010,21 @@ class TestBusinessTemplate(ERP5TypeTestC
self.failIfEqual(skin_id, '')
bt.edit(template_skin_id_list=[skin_id])
+ def stepAddAnotherSkinFolderToBusinessTemplate(self, sequence=None, sequence_list=None, **kw):
+ """
+ Add skin folder to business template
+ """
+ bt = sequence.get('current_bt', None)
+ self.failUnless(bt is not None)
+ skin_id = sequence.get('another_skin_folder_id', '')
+ self.failIfEqual(skin_id, '')
+ current_skin_id_list = bt.getTemplateSkinIdList()
+ template_skin_id_list = []
+ template_skin_id_list.extend(current_skin_id_list)
+ template_skin_id_list.append(skin_id)
+ bt.edit(template_skin_id_list=template_skin_id_list)
+
+
def stepAddRegistredSelectionToBusinessTemplate(self, sequence=None,
sequence_list=None, **kw):
"""
@@ -5357,9 +5387,11 @@ class TestBusinessTemplate(ERP5TypeTestC
def test_34_RemoveForm(self, quiet=quiet, run=run_all_test):
"""
- - Add a form into erp5_geek and custom skin folder
+ - Add a form into the skin folders of erp5_geek and erp5_nerd
- Remove the form from erp5_geek
- - Check the form is removed from erp5_geek
+ - Check that the form is removed from erp5_geek
+ - Check that the form is not removed from erp5_nerd
+ - Check that the title field is not removed from erp5_nerd
"""
if not run: return
if not quiet:
@@ -5368,15 +5400,16 @@ class TestBusinessTemplate(ERP5TypeTestC
LOG('Testing... ', 0, message)
sequence_list = SequenceList()
sequence_string = '\
- CreateNewFormIntoErp5Base \
CreateSkinFolder \
+ CreateAnotherSkinFolder \
+ CreateNewFormIntoErp5Nerd \
CreateNewForm \
CreateNewBusinessTemplate \
UseExportBusinessTemplate \
AddSkinFolderToBusinessTemplate \
+ AddAnotherSkinFolderToBusinessTemplate \
BuildBusinessTemplate \
SaveBusinessTemplate \
- RemoveForm \
\
ImportBusinessTemplate \
UseImportBusinessTemplate \
@@ -5384,13 +5417,16 @@ class TestBusinessTemplate(ERP5TypeTestC
Tic \
\
CheckFormGroups \
+ \
RemoveForm \
CreateNewBusinessTemplate \
UseExportBusinessTemplate \
AddSkinFolderToBusinessTemplate \
+ AddAnotherSkinFolderToBusinessTemplate \
BuildBusinessTemplate \
SaveBusinessTemplate \
- CreateNewForm \
+ \
+ CheckFieldTitleIsNotRemovedFromErp5Nerd \
\
ImportBusinessTemplate \
UseImportBusinessTemplate \
@@ -5398,12 +5434,12 @@ class TestBusinessTemplate(ERP5TypeTestC
Tic \
\
CheckFormIsRemoved \
- CheckFormIsNotRemovedFromErp5Base \
+ CheckFormIsNotRemovedFromErp5Nerd \
+ CheckFieldTitleIsNotRemovedFromErp5Nerd \
'
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self, quiet=quiet)
-
def test_getInstalledBusinessTemplate(self):
self.assertNotEquals(None, self.getPortal()\
.portal_templates.getInstalledBusinessTemplate('erp5_core'))
More information about the Erp5-report
mailing list