[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