[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