[Erp5-report] r35329 yusei - /erp5/trunk/products/ERP5/tests/testTradeCondition.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri May 14 12:59:24 CEST 2010
Author: yusei
Date: Fri May 14 12:59:22 2010
New Revision: 35329
URL: http://svn.erp5.org?rev=35329&view=rev
Log:
Test if subdocuments are reindexed when trade condition is modified.
Modified:
erp5/trunk/products/ERP5/tests/testTradeCondition.py
Modified: erp5/trunk/products/ERP5/tests/testTradeCondition.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testTradeCondition.py?rev=35329&r1=35328&r2=35329&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testTradeCondition.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testTradeCondition.py [utf8] Fri May 14 12:59:22 2010
@@ -96,6 +96,95 @@
transaction.commit()
self.tic()
+ def test_subcontent_supply_line_reindexing(self):
+ # If trade condition is modified, then supply lines must be reindexed
+ another_resource = self.portal.product_module.newContent(portal_type='Product',
+ title='Another Resource')
+
+ # Supply lines are made without source_section and destination_section
+ supply_line_1 = self.trade_condition.newContent(portal_type=self.supply_line_type,
+ resource_value=self.resource)
+ supply_line_2 = self.trade_condition.newContent(portal_type=self.supply_line_type,
+ resource_value=another_resource)
+
+ transaction.commit()
+ self.tic()
+
+ # Set source_section and destination_section to trade condition
+ # Then recursive reindex should be called
+ self.trade_condition.edit(source_section_value=self.client,
+ destination_section_value=self.vendor)
+
+ transaction.commit()
+ self.tic()
+
+ # New indexes have source_section, destination_section
+ self.assertEqual(len(self.portal.portal_catalog(portal_type=self.trade_condition_type,
+ source_section_relative_url=self.client.getRelativeUrl(),
+ destination_section_relative_url=self.vendor.getRelativeUrl())),
+ 1)
+
+ self.assertEqual(len(self.portal.portal_catalog(portal_type=self.supply_line_type,
+ resource_relative_url=another_resource.getRelativeUrl(),
+ source_section_relative_url=self.client.getRelativeUrl(),
+ destination_section_relative_url=self.vendor.getRelativeUrl())),
+ 1)
+
+ self.assertEqual(len(self.portal.portal_catalog(portal_type=self.supply_line_type,
+ resource_relative_url=self.resource.getRelativeUrl(),
+ source_section_relative_url=self.client.getRelativeUrl(),
+ destination_section_relative_url=self.vendor.getRelativeUrl())),
+ 1)
+
+ # Change source_section and destination_section
+ company_a = self.portal.organisation_module.newContent(portal_type='Organisation',
+ title='Company A')
+ company_b = self.portal.organisation_module.newContent(portal_type='Organisation',
+ title='Company B')
+
+ transaction.commit()
+ self.tic()
+
+ # When edit, recursive reindex should be called
+ self.trade_condition.edit(source_section_value=None,
+ destination_section_value=None,
+ source_value=company_a,
+ destination_value=company_b)
+
+ transaction.commit()
+ self.tic()
+
+ # No old indexes
+ self.assertEqual(len(self.portal.portal_catalog(portal_type=self.trade_condition_type,
+ source_section_relative_url=self.client.getRelativeUrl(),
+ destination_section_relative_url=self.vendor.getRelativeUrl())),
+ 0)
+ self.assertEqual(len(self.portal.portal_catalog(portal_type=self.supply_line_type,
+ resource_relative_url=self.resource.getRelativeUrl(),
+ source_section_relative_url=self.client.getRelativeUrl(),
+ destination_section_relative_url=self.vendor.getRelativeUrl())),
+ 0)
+ self.assertEqual(len(self.portal.portal_catalog(portal_type=self.supply_line_type,
+ resource_relative_url=another_resource.getRelativeUrl(),
+ source_section_relative_url=self.client.getRelativeUrl(),
+ destination_section_relative_url=self.vendor.getRelativeUrl())),
+ 0)
+ # New indexes
+ self.assertEqual(len(self.portal.portal_catalog(portal_type=self.trade_condition_type,
+ source_relative_url=company_a.getRelativeUrl(),
+ destination_relative_url=company_b.getRelativeUrl())),
+ 1)
+ self.assertEqual(len(self.portal.portal_catalog(portal_type=self.supply_line_type,
+ resource_relative_url=self.resource.getRelativeUrl(),
+ source_relative_url=company_a.getRelativeUrl(),
+ destination_relative_url=company_b.getRelativeUrl())),
+ 1)
+ self.assertEqual(len(self.portal.portal_catalog(portal_type=self.supply_line_type,
+ resource_relative_url=another_resource.getRelativeUrl(),
+ source_relative_url=company_a.getRelativeUrl(),
+ destination_relative_url=company_b.getRelativeUrl())),
+ 1)
+
class AccountingBuildTestCase(TradeConditionTestCase):
"""Same as TradeConditionTestCase, but with a rule to generate
More information about the Erp5-report
mailing list