From a4512947db07c169ddc41621174c781512276da3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 18 Nov 2010 12:36:36 +0000
Subject: [PATCH]  - check that system preferences for values has precedence
 over normal preferences

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@40360 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Form/tests/testPreferences.py | 33 +++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/product/ERP5Form/tests/testPreferences.py b/product/ERP5Form/tests/testPreferences.py
index 15bb84d0ce..f078f7a5e2 100644
--- a/product/ERP5Form/tests/testPreferences.py
+++ b/product/ERP5Form/tests/testPreferences.py
@@ -584,6 +584,39 @@ class TestPreferences(PropertySheetTestCase):
 
     preference_tool.manage_permission(read_permission, ['Manager'], 1)
 
+  def test_system_preference_value_prefererred(self):
+    default_preference_string = 'Default Name'
+    normal_preference_string = 'Normal Preference'
+    system_preference_string = 'System Preference'
+    self._addPropertySheet('Preference', 'DummySystemPreference',
+        '''class DummySystemPreference:
+             _properties= ( {'id': 'dummystring',
+                             'default': '%s',
+                             'preference': True,
+                             'type': 'string',},)''' % default_preference_string)
+    portal_preferences = self.portal.portal_preferences
+    self.assertEqual(default_preference_string,
+        portal_preferences.getDummystring())
+
+    preference = portal_preferences.newContent(portal_type='Preference',
+                                               dummystring=normal_preference_string,
+                                               priority=Priority.SITE)
+    preference.enable()
+    transaction.commit()
+    self.tic()
+
+    self.assertEqual(normal_preference_string,
+        portal_preferences.getDummystring())
+
+    system_preference = portal_preferences.newContent(portal_type='Preference',
+                                               dummystring=system_preference_string)
+    system_preference.enable()
+    transaction.commit()
+    self.tic()
+
+    self.assertEqual(system_preference_string,
+        portal_preferences.getDummystring())
+
 def test_suite():
   suite = unittest.TestSuite()
   suite.addTest(unittest.makeSuite(TestPreferences))
-- 
2.30.9