[Erp5-report] r30966 - /erp5/trunk/products/ERP5Form/tests/testProxify.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Dec 1 16:00:55 CET 2009


Author: nicolas
Date: Tue Dec  1 16:00:53 2009
New Revision: 30966

URL: http://svn.erp5.org?rev=30966&view=rev
Log:
Change r30963 as it was just a misconfiguration.
If parameter keep_empty_value is True the Proxyfication behave as expected.

Modified:
    erp5/trunk/products/ERP5Form/tests/testProxify.py

Modified: erp5/trunk/products/ERP5Form/tests/testProxify.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/tests/testProxify.py?rev=30966&r1=30965&r2=30966&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/tests/testProxify.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/tests/testProxify.py [utf8] Tue Dec  1 16:00:53 2009
@@ -70,9 +70,12 @@
     base_view.manage_addField('my_relation_string_field', 'Old Relation String Field', 'RelationStringField')
     base_view.manage_addField('my_gender', 'Gender', 'ListField')
     base_view.manage_addField('my_custom_description', 'Description', 'TextAreaField')
+    base_view.manage_addField('my_another_description', 'Description', 'TextAreaField')
     base_view.my_string_field.values['display_width'] = 30
     base_view.my_list_field.values['size'] = 1
     base_view.my_gender.values['items'] = [('Male', 'Male'), ('Female', 'Female')]
+    base_view.my_another_description.values['editable'] = 0
+
     # old instance does not have recently added properties.
     del base_view.my_relation_string_field.values['proxy_listbox_ids']
     del base_view.my_relation_string_field.values['relation_form_id']
@@ -92,6 +95,8 @@
     person_view.manage_addField('my_name', 'Name', 'StringField')
     person_view.manage_addField('my_default_region', 'Country', 'ListField')
     person_view.manage_addField('my_custom_description', 'Description', 'TextAreaField')
+    person_view.manage_addField('my_custom_description2', 'Description', 'TextAreaField')
+    person_view.manage_addField('my_another_description', 'Description', 'TextAreaField')
     person_view.my_name.values['display_maxwidth'] = 20
     person_view.my_default_region.values['size'] = 1
     person_view.my_default_region.tales['items'] = TALESMethod('here/portal_categories/region/getCategoryChildTranslatedLogicalPathItemList')
@@ -101,6 +106,7 @@
     person_view.my_career_subordination_title.values['portal_type'] = [('Organisation', 'Organisation')]
     person_view.my_career_subordination_title.values['proxy_listbox_ids'] = [('OrganisationModule_viewOrganisationList/listbox', 'Organisation')]
     person_view.my_custom_description.values['editable'] = 0
+    person_view.my_another_description.values['editable'] = 0
 
     global request
     request = DummyRequest()
@@ -138,13 +144,6 @@
     self.assertEqual(field.get_value('items'), [('Male', 'Male'), ('Female', 'Female')])
 
     purgeFieldValueCache()
-    #Non editable fields
-    self.person_view.proxifyField({'my_custom_description': 'Base_view.my_custom_description'})
-    field = self.person_view.my_custom_description
-    self.assertEqual(field.is_delegated('title'), True)
-    self.assertEqual(field.get_value('title'), 'Description')
-    self.assertEqual(field.is_delegated('editable'), False)
-    self.assertEqual(field.get_value('editable'), 0)
 
 
   def test_multi_level_proxify(self):
@@ -189,6 +188,30 @@
     self.assertEqual(field.is_delegated('enabled'), True)
     self.assertEqual(field.is_delegated('description'), True)
 
+  def test_keep_empty_value(self):
+    #Non editable fields
+    self.person_view.proxifyField({'my_custom_description': 'Base_view.my_custom_description',
+                                   'my_custom_description2': 'Base_view.my_custom_description',
+                                   'my_another_description': 'Base_view.my_another_description'},
+                                  keep_empty_value=True)
+    field = self.person_view.my_custom_description
+    self.assertEqual(field.is_delegated('title'), True)
+    self.assertEqual(field.get_value('title'), 'Description')
+    self.assertEqual(field.is_delegated('editable'), False)
+    self.assertEqual(field.get_value('editable'), 0)
+
+    field = self.person_view.my_custom_description2
+    self.assertEqual(field.is_delegated('title'), True)
+    self.assertEqual(field.get_value('title'), 'Description')
+    self.assertEqual(field.is_delegated('editable'), True)
+    self.assertEqual(field.get_value('editable'), 1)
+
+    field = self.person_view.my_another_description
+    self.assertEqual(field.is_delegated('title'), True)
+    self.assertEqual(field.get_value('title'), 'Description')
+    self.assertEqual(field.is_delegated('editable'), True)
+    self.assertEqual(field.get_value('editable'), 0)
+
   def test_unproxify(self):
     #Proxify First
     self.address_view.proxifyField({'my_region':'Base_view.my_list_field'})




More information about the Erp5-report mailing list