[Erp5-report] r20394 - /erp5/trunk/products/ERP5Form/tests/testScribusUtils.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Apr 9 17:26:59 CEST 2008
Author: fabien
Date: Wed Apr 9 17:26:55 2008
New Revision: 20394
URL: http://svn.erp5.org?rev=20394&view=rev
Log:
add two tests method
- the first to test required fields
- the second to test read only fields (editable)
This two tests are made on StringFields and DateTimeFields. They check that the
property is present on ERP5 fields if scribus file have this property, and alos
that they don't have it if is not present.
Modified:
erp5/trunk/products/ERP5Form/tests/testScribusUtils.py
Modified: erp5/trunk/products/ERP5Form/tests/testScribusUtils.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/tests/testScribusUtils.py?rev=20394&r1=20393&r2=20394&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/tests/testScribusUtils.py (original)
+++ erp5/trunk/products/ERP5Form/tests/testScribusUtils.py Wed Apr 9 17:26:55 2008
@@ -32,7 +32,6 @@
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
from Products.ERP5Type.tests.utils import FileUpload
from AccessControl.SecurityManagement import newSecurityManager
-from zLOG import LOG
class TestScribusUtils(ERP5TypeTestCase):
'''Unit test for SribusUtils API'''
@@ -191,6 +190,104 @@
self.assertEquals(getattr(self.portal.portal_skins.erp5_test.Dummy_view,
'text_1', None), None)
+ def test_05_requiredFields(self):
+ ''' Set required property on a scribus field. After creating module with
+ scribus, the ERP5 field should have the required property set on.'''
+
+ # module creation using scribus file containing fields with requied
+ # property set:
+ self.portal.ERP5Site_createModuleScribus(
+ module_id="dummy_module",
+ module_portal_type="Dummy Module",
+ module_title="Dummy Module Title",
+ import_pdf_file=self.makeFileUpload('test_field_properties.pdf'),
+ import_scribus_file=self.makeFileUpload('test_field_properties.sla'),
+ portal_skins_folder="erp5_test",
+ object_title="Dummy",
+ object_portal_type="Dummy")
+
+ self.assertNotEqual(self.portal._getOb('dummy_module', None), None)
+ self.assertNotEqual(
+ self.portal.portal_skins._getOb("erp5_test", None), None)
+ self.assertEquals("Dummy Module Title",
+ self.portal.dummy_module.getTitle())
+ self.assertNotEqual(self.portal.portal_types.getTypeInfo("Dummy Module"),
+ None)
+ self.assertNotEqual(self.portal.portal_types.getTypeInfo("Dummy"), None)
+
+ # define some field lists
+ required_field_name_list = ['my_required_string_field',
+ 'my_required_date']
+ not_required_field_name_list = [ 'my_simple_string_field',
+ 'my_simple_date']
+ all_field_name_list = required_field_name_list + \
+ not_required_field_name_list
+
+ # check the that fields prensent in the sla file have been created in the
+ # erp5 form
+ form = self.portal.portal_skins.erp5_test.Dummy_view
+ for field_name in all_field_name_list:
+ self.assertNotEquals(getattr(form, field_name, None), None)
+
+ # check the required fields are required :
+ for field_name in required_field_name_list:
+ field = getattr(form, field_name, None)
+ self.assertEquals(field.values['required'], 1)
+
+ # check fields not required are not :
+ for field_name in not_required_field_name_list:
+ field = getattr(form, field_name, None)
+ self.assertNotEquals(field.values['required'], 1)
+
+ def test_06_readOnlyFields(self):
+ ''' Set read only property on a scribus field. After creating module with
+ scribus, it should not be possible to edit it.'''
+ # module creation using scribus file containing fields with read only
+ # property set:
+ self.portal.ERP5Site_createModuleScribus(
+ module_id="dummy_module",
+ module_portal_type="Dummy Module",
+ module_title="Dummy Module Title",
+ import_pdf_file=self.makeFileUpload('test_field_properties.pdf'),
+ import_scribus_file=self.makeFileUpload('test_field_properties.sla'),
+ portal_skins_folder="erp5_test",
+ object_title="Dummy",
+ object_portal_type="Dummy")
+
+ self.assertNotEqual(self.portal._getOb('dummy_module', None), None)
+ self.assertNotEqual(
+ self.portal.portal_skins._getOb("erp5_test", None), None)
+ self.assertEquals("Dummy Module Title",
+ self.portal.dummy_module.getTitle())
+ self.assertNotEqual(self.portal.portal_types.getTypeInfo("Dummy Module"),
+ None)
+ self.assertNotEqual(self.portal.portal_types.getTypeInfo("Dummy"), None)
+
+ # define some field lists
+ read_only_field_name_list = ['my_read_only_string_field',
+ 'my_read_only_date']
+ not_read_only_field_name_list = [ 'my_simple_string_field',
+ 'my_simple_date']
+ all_field_name_list = read_only_field_name_list + \
+ not_read_only_field_name_list
+
+ # check the that fields prensent in the sla file have been created in the
+ # erp5 form
+ form = self.portal.portal_skins.erp5_test.Dummy_view
+ for field_name in all_field_name_list:
+ self.assertNotEquals(getattr(form, field_name, None), None)
+
+ # check the read_only fields are read_only :
+ for field_name in read_only_field_name_list:
+ field = getattr(form, field_name, None)
+ self.assertEquals(field.values['editable'], 1)
+
+ # check fields not read_only are not :
+ for field_name in not_read_only_field_name_list:
+ field = getattr(form, field_name, None)
+ self.assertNotEquals(field.values['editable'], 1)
+
+
def test_suite():
suite = unittest.TestSuite()
More information about the Erp5-report
mailing list