[Erp5-report] r17151 - /erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Oct 23 22:14:58 CEST 2007
Author: yo
Date: Tue Oct 23 22:14:58 2007
New Revision: 17151
URL: http://svn.erp5.org?rev=17151&view=rev
Log:
Test an upgrade of an ERP5 Form.
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=17151&r1=17150&r2=17151&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBusinessTemplate.py (original)
+++ erp5/trunk/products/ERP5/tests/testBusinessTemplate.py Tue Oct 23 22:14:58 2007
@@ -40,7 +40,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 shutil
import os
class TestBusinessTemplate(ERP5TypeTestCase, LogInterceptor):
@@ -564,6 +564,96 @@
subskin_id = sequence.get('skin_subfolder_id')
skin_subfolder = skin_folder._getOb(subskin_id, None)
self.failUnless(skin_subfolder is not None)
+
+ def stepCreateNewForm(self, sequence=None, sequence_list=None):
+ """Create a new ERP5 Form in a skin folder."""
+ ps = self.getSkinsTool()
+ skin_folder = ps._getOb('erp5_geek', None)
+ self.assertNotEquals(skin_folder, None)
+ form_id = 'Geek_view'
+ addERP5Form = skin_folder.manage_addProduct['ERP5Form'].addERP5Form
+ addERP5Form(form_id, 'View')
+ form = skin_folder._getOb(form_id, None)
+ self.assertNotEquals(form, None)
+ self.assertEquals(sorted(form.get_groups(include_empty=1)),
+ sorted(['left', 'right', 'center', 'bottom', 'hidden']))
+ addField = form.manage_addProduct['Formulator'].manage_addField
+ addField('my_title', 'Title', 'StringField')
+ field = form.get_field('my_title')
+ self.assertEquals(form.get_fields_in_group('left'), [field])
+ group_dict = {}
+ for group in form.get_groups(include_empty=1):
+ id_list = []
+ for field in form.get_fields_in_group(group):
+ id_list.append(field.getId())
+ group_dict[group] = id_list
+ sequence.edit(form_id=form_id, group_dict=group_dict)
+
+ def stepRemoveForm(self, sequence=None, sequence_list=None):
+ """Remove an ERP5 Form."""
+ ps = self.getSkinsTool()
+ skin_folder = ps._getOb('erp5_geek', 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()
+ skin_folder = ps._getOb('erp5_geek', None)
+ self.assertNotEquals(skin_folder, None)
+ form_id = sequence.get('form_id')
+ form = skin_folder._getOb(form_id, None)
+ self.assertNotEquals(form, None)
+ self.assertEquals(sorted(form.get_groups(include_empty=1)),
+ sorted(['left', 'right', 'center', 'bottom', 'hidden']))
+ addField = form.manage_addProduct['Formulator'].manage_addField
+ addField('my_reference', 'Reference', 'StringField')
+ form.move_field_group(['my_reference'], 'left', 'right')
+ field = form.get_field('my_reference')
+ self.assertEquals(form.get_fields_in_group('right'), [field])
+ group_dict = {}
+ for group in form.get_groups(include_empty=1):
+ id_list = []
+ for field in form.get_fields_in_group(group):
+ id_list.append(field.getId())
+ group_dict[group] = id_list
+ sequence.edit(group_dict=group_dict, field_id=field.getId())
+
+ def stepRemoveFormField(self, sequence=None, sequence_list=None):
+ """Remove a field from an ERP5 Form."""
+ ps = self.getSkinsTool()
+ skin_folder = ps._getOb('erp5_geek', None)
+ self.assertNotEquals(skin_folder, None)
+ form_id = sequence.get('form_id')
+ form = skin_folder._getOb(form_id, None)
+ self.assertNotEquals(form, None)
+ field_id = sequence.get('field_id')
+ field = form.get_field(field_id)
+ self.assertNotEquals(field, None)
+ form.manage_delObjects([field_id])
+ self.assertRaises(AttributeError, form.get_field, field_id)
+
+ def stepCheckFormGroups(self, sequence=None, sequence_list=None):
+ """Check the groups of an ERP5 Form."""
+ ps = self.getSkinsTool()
+ skin_folder = ps._getOb('erp5_geek', None)
+ self.assertNotEquals(skin_folder, None)
+ form_id = sequence.get('form_id')
+ form = skin_folder._getOb(form_id, None)
+ self.assertNotEquals(form, None)
+ group_dict = sequence.get('group_dict')
+ self.assertEquals(sorted(form.get_groups(include_empty=1)),
+ sorted(group_dict.iterkeys()))
+ for group in group_dict.iterkeys():
+ id_list = []
+ for field in form.get_fields_in_group(group):
+ id_list.append(field.getId())
+ self.assertEquals(group_dict[group], id_list)
def stepCreateNewObjectInSkinSubFolder(self, sequence=None, sequence_list=None, **kw):
"""
@@ -2001,7 +2091,7 @@
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)
+ shutil.rmtree(template_path)
template.export(path=template_path, local=1)
sequence.edit(template_path=template_path)
self.failUnless(os.path.exists(template_path))
@@ -4244,7 +4334,47 @@
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self, quiet=quiet)
-
+ def test_34_UpgradeForm(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 = '\
+ CreateSkinFolder \
+ CreateNewForm \
+ CreateNewBusinessTemplate \
+ UseExportBusinessTemplate \
+ AddSkinFolderToBusinessTemplate \
+ BuildBusinessTemplate \
+ SaveBusinessTemplate \
+ RemoveForm \
+ \
+ ImportBusinessTemplate \
+ UseImportBusinessTemplate \
+ InstallWithoutForceBusinessTemplate \
+ Tic \
+ \
+ CheckFormGroups \
+ AddFormField \
+ CreateNewBusinessTemplate \
+ UseExportBusinessTemplate \
+ AddSkinFolderToBusinessTemplate \
+ BuildBusinessTemplate \
+ SaveBusinessTemplate \
+ RemoveFormField \
+ \
+ ImportBusinessTemplate \
+ UseImportBusinessTemplate \
+ InstallWithoutForceBusinessTemplate \
+ Tic \
+ \
+ CheckFormGroups \
+ '
+ 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