From 7a1ff70796c8ee752c965fb71bf0d6f9fbe1fd39 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 12 Aug 2010 14:40:57 +0000
Subject: [PATCH]  - add tests for subcontent reindexing for Purchase, Sale and
 Internal Supply  - add tests for subcontent reindexing for Internal,
 Purchase, Sale and "generic" Supply Lines

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37775 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testSupply.py | 50 +++++++++++++++++++++++++++++++-
 1 file changed, 49 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/tests/testSupply.py b/product/ERP5/tests/testSupply.py
index c1c4c9dbeb..95b9700c2d 100644
--- a/product/ERP5/tests/testSupply.py
+++ b/product/ERP5/tests/testSupply.py
@@ -32,6 +32,7 @@ import unittest
 import transaction
 from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
 from Products.ERP5Type.tests.utils import reindex
+from Products.ERP5Type.tests.utils import SubcontentReindexingWrapper
 from DateTime import DateTime
 
 class TestSupplyMixin:
@@ -58,7 +59,8 @@ class TestSupplyMixin:
     module.manage_delObjects(list(module.objectIds()))
     self.stepTic()
 
-class TestSaleSupply(TestSupplyMixin, ERP5TypeTestCase):
+class TestSaleSupply(TestSupplyMixin, SubcontentReindexingWrapper,
+    ERP5TypeTestCase):
   """
     Test Supplies usage
   """
@@ -67,6 +69,9 @@ class TestSaleSupply(TestSupplyMixin, ERP5TypeTestCase):
   supply_portal_type = 'Sale Supply'
   supply_line_portal_type = 'Sale Supply Line'
   supply_cell_portal_type = 'Sale Supply Cell'
+  generic_supply_line_portal_type = 'Supply Line'
+  generic_supply_cell_portal_type = 'Supply Cell'
+  predicate_portal_type = 'Predicate'
 
   def getTitle(self):
     return "Sale Supply"
@@ -240,6 +245,49 @@ class TestSaleSupply(TestSupplyMixin, ERP5TypeTestCase):
     supply_line.setDestinationReference('my_destination_reference')
     self.assertEquals(supply_line.getDestinationReference(), 'my_destination_reference')
 
+  def test_subcontent_reindexing_supply(self):
+    """Tests, that modification on Supply are propagated to children"""
+    supply = self.portal.getDefaultModule(self.supply_portal_type).newContent(
+                              portal_type=self.supply_portal_type)
+    supply_line = supply.newContent(portal_type=self.supply_line_portal_type)
+    supply_cell = supply_line.newContent(
+        portal_type=self.supply_cell_portal_type)
+    supply_line_predicate = supply_line.newContent(
+        portal_type=self.predicate_portal_type)
+
+    generic_supply_line = supply.newContent(
+        portal_type=self.generic_supply_line_portal_type)
+    generic_supply_cell = generic_supply_line.newContent(
+        portal_type=self.generic_supply_cell_portal_type)
+    generic_supply_predicate = generic_supply_line.newContent(
+        portal_type=self.predicate_portal_type)
+
+    self._testSubContentReindexing(supply, [supply_line, supply_cell,
+      supply_line_predicate, generic_supply_line, generic_supply_cell, generic_supply_predicate])
+
+  def test_subcontent_reindexing_supply_line(self):
+    """Tests, that modification on Supply Line are propagated to children"""
+    supply = self.portal.getDefaultModule(self.supply_portal_type).newContent(
+                              portal_type=self.supply_portal_type)
+    supply_line = supply.newContent(portal_type=self.supply_line_portal_type)
+    supply_cell = supply_line.newContent(
+        portal_type=self.supply_cell_portal_type)
+    supply_line_predicate = supply_line.newContent(
+        portal_type=self.predicate_portal_type)
+
+    generic_supply_line = supply.newContent(
+        portal_type=self.generic_supply_line_portal_type)
+    generic_supply_cell = generic_supply_line.newContent(
+        portal_type=self.generic_supply_cell_portal_type)
+    generic_supply_predicate = generic_supply_line.newContent(
+        portal_type=self.predicate_portal_type)
+
+    self._testSubContentReindexing(supply_line, [supply_cell,
+      supply_line_predicate])
+
+    self._testSubContentReindexing(generic_supply_line, [generic_supply_cell,
+      generic_supply_predicate])
+
 class TestPurchaseSupply(TestSaleSupply):
   """
     Test Purchase Supplies usage
-- 
2.30.9