[Erp5-report] r43114 nicolas.dumazet - /erp5/trunk/products/ERP5/tests/testDomainTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Feb 7 09:05:42 CET 2011


Author: nicolas.dumazet
Date: Mon Feb  7 09:05:42 2011
New Revision: 43114

URL: http://svn.erp5.org?rev=43114&view=rev
Log:
Constraints are now predicates, and will show up in searchPredicateList results
if they are not filtered out using portal_type filters.

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

Modified: erp5/trunk/products/ERP5/tests/testDomainTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testDomainTool.py?rev=43114&r1=43113&r2=43114&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testDomainTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testDomainTool.py [utf8] Mon Feb  7 09:05:42 2011
@@ -56,6 +56,20 @@ class TestDomainTool(TestPredicateMixIn)
     """
     return ('erp5_base','erp5_pdm', 'erp5_trade', 'erp5_apparel')
 
+  def afterSetUp(self):
+    domain_tool = self.getDomainTool()
+
+    # Query to restrict searches to 'interesting' predicates:
+    # - ignore simulation rules, which are now predicates
+    # - ignore as well constraints, which are predicates
+    self.portal_type_query = Query(
+        operator='AND',
+        portal_type=['!=%s' % x for x
+          in domain_tool.getPortalRuleTypeList()
+          + ('Base Domain', 'Contribution Predicate')
+          + domain_tool.getPortalConstraintTypeList()])
+    super(TestDomainTool, self).afterSetUp()
+
   def beforeTearDown(self):
     transaction.abort()
 
@@ -148,16 +162,9 @@ class TestDomainTool(TestPredicateMixIn)
     order_line = self.getOrderLine()
     domain_tool = self.getDomainTool()
 
-    # ignore simulation rules, which are now predicates
-    rule_query = Query(
-        operator='AND',
-        portal_type=['!=%s' % x for x
-          in domain_tool.getPortalRuleTypeList()
-          + ('Base Domain', 'Contribution Predicate')])
-
     # Test with order line and predicate to none
     predicate_list = domain_tool.searchPredicateList(order_line,test=test,
-        portal_type=rule_query)
+        portal_type=self.portal_type_query)
     self.assertEquals(len(predicate_list),1) # Actually, a predicate where
                                              # nothing is defined is ok
 
@@ -166,7 +173,7 @@ class TestDomainTool(TestPredicateMixIn)
     transaction.commit()
     self.tic()
     predicate_list = domain_tool.searchPredicateList(order_line,test=test,
-        portal_type=rule_query)
+        portal_type=self.portal_type_query)
     self.assertEquals(len(predicate_list),1)
 
     # Test with order line not none and predicate to identity
@@ -197,7 +204,7 @@ class TestDomainTool(TestPredicateMixIn)
     transaction.commit()
     self.tic()
     predicate_list = domain_tool.searchPredicateList(order_line,test=test,
-        portal_type=rule_query)
+        portal_type=self.portal_type_query)
     self.assertEquals(len(predicate_list),0)
 
     # Test with order line not none and predicate to max
@@ -319,7 +326,7 @@ class TestDomainTool(TestPredicateMixIn)
     self.tic()
     domain_tool = self.getDomainTool()
     context = self.resource.asContext(categories=['resource/%s' % self.resource.getRelativeUrl()])
-    mapped_value = domain_tool.generateMappedValue(context)
+    mapped_value = domain_tool.generateMappedValue(context, portal_type="Supply Line")
     self.assertEquals(mapped_value.getBasePrice(),23)
 
   def test_04_GenerateMappedValueWithRanges(self, quiet=0, run=run_all_test):
@@ -404,16 +411,24 @@ class TestDomainTool(TestPredicateMixIn)
     context = self.resource.asContext(
                      categories=['resource/%s' % self.resource.getRelativeUrl(),
                      'variation/%s/blue' % self.resource.getRelativeUrl()])
-    mapped_value = domain_tool.generateMappedValue(context,sort_method=sort_method)
+    mapped_value = domain_tool.generateMappedValue(context,
+                     portal_type=self.portal_type_query,
+                     sort_method=sort_method)
     self.assertEquals(mapped_value.getProperty('base_price'),45)
-    mapped_value = domain_tool.generateMappedValue(context,sort_key_method=sort_key_method)
+    mapped_value = domain_tool.generateMappedValue(context,
+                     portal_type=self.portal_type_query,
+                     sort_key_method=sort_key_method)
     self.assertEquals(mapped_value.getProperty('base_price'),45)
     context = self.resource.asContext(
                      categories=['resource/%s' % self.resource.getRelativeUrl(),
                      'variation/%s/red' % self.resource.getRelativeUrl()])
-    mapped_value = domain_tool.generateMappedValue(context,sort_method=sort_method)
+    mapped_value = domain_tool.generateMappedValue(context,
+                     portal_type=self.portal_type_query,
+                     sort_method=sort_method)
     self.assertEquals(mapped_value.getProperty('base_price'),26)
-    mapped_value = domain_tool.generateMappedValue(context,sort_key_method=sort_key_method)
+    mapped_value = domain_tool.generateMappedValue(context,
+                     portal_type=self.portal_type_query,
+                     sort_key_method=sort_key_method)
     self.assertEquals(mapped_value.getProperty('base_price'),26)
     # Now check the price
     self.assertEquals(self.resource.getPrice(context=self.resource.asContext(
@@ -443,9 +458,9 @@ class TestDomainTool(TestPredicateMixIn)
     # Basic sanity checks
     self.assertTrue(predicate_both_match.test(document))
     self.assertFalse(predicate_one_match.test(document))
-    self.assertTrue(predicate_one_match not in portal_domains.searchPredicateList(document, test=1))
+    self.assertTrue(predicate_one_match not in portal_domains.searchPredicateList(document, portal_type=self.portal_type_query, test=1))
     # Real test
-    self.assertTrue(predicate_one_match not in portal_domains.searchPredicateList(document, test=0))
+    self.assertTrue(predicate_one_match not in portal_domains.searchPredicateList(document, portal_type=self.portal_type_query, test=0))
 
   def test_07_NonLeftJoinModeOfSearchPredicateList(self, quiet=0, run=run_all_test):
     if not run: return



More information about the Erp5-report mailing list