[Erp5-report] r25990 - /erp5/trunk/products/ERP5/tests/testERP5Base.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Mar 11 18:04:27 CET 2009


Author: jerome
Date: Wed Mar 11 18:04:27 2009
New Revision: 25990

URL: http://svn.erp5.org?rev=25990&view=rev
Log:
add test for searching persons & organisations by translated_portal_type /
translated_validation_state_title

Modified:
    erp5/trunk/products/ERP5/tests/testERP5Base.py

Modified: erp5/trunk/products/ERP5/tests/testERP5Base.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testERP5Base.py?rev=25990&r1=25989&r2=25990&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testERP5Base.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testERP5Base.py [utf8] Wed Mar 11 18:04:27 2009
@@ -29,6 +29,7 @@
 
 import os
 import unittest
+import transaction
 
 from DateTime import DateTime
 from Products.ERP5Type.Utils import convertToUpperCase
@@ -1332,6 +1333,44 @@
       self.assertTrue('/' in relative_url)
       self.assertNotEquals(None, self.portal.unrestrictedTraverse(relative_url))
 
+  def test_standard_translated_related_keys(self):
+    # make sure we can search by "translated_validation_state_title" and
+    # "translated_portal_type"
+    message_catalog = self.portal.Localizer.erp5_ui
+    lang = 'fr'
+    if lang not in [x['id'] for x in
+        self.portal.Localizer.get_languages_map()]:
+      self.portal.Localizer.manage_addLanguage(lang)
+
+    message_catalog.gettext('Draft', add=1)
+    message_catalog.gettext('Person', add=1)
+    message_catalog.message_edit('Draft', lang, 'Brouillon', '')
+    message_catalog.message_edit('Person', lang, 'Personne', '')
+
+    person_1 = self.portal.person_module.newContent(portal_type='Person')
+    person_1.validate()
+    person_2 = self.portal.person_module.newContent(portal_type='Person')
+    organisation = self.portal.organisation_module.newContent(
+                            portal_type='Organisation')
+    transaction.commit()
+    self.tic()
+
+    # patch the method, we'll abort later
+    self.portal.Localizer.get_selected_language = lambda: lang
+
+    self.assertEquals(set([person_1, person_2]),
+        set([x.getObject() for x in
+          self.portal.portal_catalog(translated_portal_type='Personne')]))
+    self.assertEquals(set([person_2, organisation]),
+        set([x.getObject() for x in
+          self.portal.portal_catalog(translated_validation_state_title='Brouillon',
+                                     portal_type=('Person', 'Organisation'))]))
+    self.assertEquals([person_2],
+        [x.getObject() for x in
+          self.portal.portal_catalog(translated_validation_state_title='Brouillon',
+                                     translated_portal_type='Personne')])
+    transaction.abort()
+
 
 def test_suite():
   suite = unittest.TestSuite()




More information about the Erp5-report mailing list