[Erp5-report] r34388 romain - /erp5/trunk/products/ERP5/tests/testTranslation.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Apr 8 15:37:07 CEST 2010


Author: romain
Date: Thu Apr  8 15:37:04 2010
New Revision: 34388

URL: http://svn.erp5.org?rev=34388&view=rev
Log:
Check that a Negated Query for a translated property does not return unwanted
result.

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

Modified: erp5/trunk/products/ERP5/tests/testTranslation.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testTranslation.py?rev=34388&r1=34387&r2=34388&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testTranslation.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testTranslation.py [utf8] Thu Apr  8 15:37:04 2010
@@ -287,6 +287,62 @@
     self.assertTrue(len(self.portal.portal_catalog(
                             translated_validation_state_title="En bon usage")))
 
+  def test_07_NegatedQueryForTranslation(self, quiet=0, run=run_all_test):
+    """
+    Check that catalog search with a negated query parameter doesn't return
+    unexpected results.
+     - get a portal type ans its related workflow
+     - add a new context translation for the original state
+     - update the catalog tables
+     - verify the catalog result
+    """
+    self.lang = 'en'
+    # Get one portal type and its related workflow
+    portal_type_id = 'Bug'
+    workflow_id = 'bug_workflow'
+    assert(workflow_id in \
+            self.portal.portal_workflow.getChainFor(portal_type_id))
+    bug = self.portal.getDefaultModule(portal_type_id).newContent(
+        portal_type=portal_type_id)
+    state_title = bug.getSimulationStateTitle()
+
+    # add a new context translation for the original state
+    message_catalog = self.portal.Localizer.erp5_ui
+    message_catalog.gettext(state_title, add=1)
+    message_catalog.gettext(getMessageIdWithContext(state_title,
+                                                    'state',
+                                                    workflow_id),
+                            add=1)
+    assert(bug.getTranslatedSimulationStateTitle() == state_title)
+
+    try:
+      message_catalog.message_edit(getMessageIdWithContext(state_title,
+                                                           'state',
+                                                           workflow_id),
+                                   self.lang, "%s in context" % state_title, '')
+      assert(bug.getTranslatedSimulationStateTitle() == \
+                                    "%s in context" % state_title)
+
+      # Update the translation table
+      self.portal.ERP5Site_updateTranslationTable()
+      transaction.commit()
+      self.tic()
+
+      # Check the catalog result
+      assert(len(self.portal.portal_catalog(portal_type=portal_type_id)) == 1)
+      result = self.portal.portal_catalog(portal_type=portal_type_id,
+          translated_simulation_state_title='!="%s in context"' % state_title)
+      self.assertEquals(len(result), 0)
+    finally:
+      # Clean the new context message
+      message_catalog.message_del(getMessageIdWithContext(state_title,
+                                                      'state',
+                                                      workflow_id))
+      # Update the translation table
+      self.portal.ERP5Site_updateTranslationTable()
+      transaction.commit()
+      self.tic()
+
 class LanguageGetter(MethodObject.Method):
 
   def __init__(self, lang):




More information about the Erp5-report mailing list