[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