From b097cbd4e381eeb23610d5852bcb067b2cb5c260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com> Date: Thu, 8 Jul 2010 14:56:34 +0000 Subject: [PATCH] - deliver helper method _testSubContentReindexing and reuse it to test various types git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@36991 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testOrder.py | 70 ++++++++++----------- product/ERP5/tests/testPackingList.py | 88 ++++++--------------------- 2 files changed, 56 insertions(+), 102 deletions(-) diff --git a/product/ERP5/tests/testOrder.py b/product/ERP5/tests/testOrder.py index d5c8f90313..a638b5e4f8 100644 --- a/product/ERP5/tests/testOrder.py +++ b/product/ERP5/tests/testOrder.py @@ -87,6 +87,33 @@ class TestOrderMixin: def unwrap_catalogObjectList(self): Catalog.catalogObjectList = self.original_catalogObjectList + def _testSubContentReindexing(self, parent_document, children_document_list): + """Helper method which shall be called *before* tic or commit""" + self.portal.catalogged_object_path_dict = PersistentMapping() + transaction.commit() + expected_path_list = [q.getPath() for q in children_document_list + + [parent_document]] + try: + # wrap call to catalogObjectList + self.wrap_catalogObjectList() + self.stepTic() + self.assertSameSet( + self.portal.catalogged_object_path_dict.keys(), + expected_path_list + ) + # do real assertions + self.portal.catalogged_object_path_dict = PersistentMapping() + transaction.commit() + parent_document.reindexObject() + self.stepTic() + self.assertSameSet( + self.portal.catalogged_object_path_dict.keys(), + expected_path_list + ) + finally: + # unwrap catalogObjectList + self.unwrap_catalogObjectList() + def setUpPreferences(self): #create apparel variation preferences portal_preferences = self.getPreferenceTool() @@ -2861,40 +2888,15 @@ class TestOrder(TestOrderMixin, ERP5TypeTestCase): def test_subcontent_reindexing(self): """Tests, that modification on Order are propagated to lines and cells during reindxation""" - self.portal.catalogged_object_path_dict = PersistentMapping() - transaction.commit() - try: - # wrap call to catalogObjectList - self.wrap_catalogObjectList() - # prepare test data - order = self.portal.getDefaultModule(self.order_portal_type).newContent( - portal_type=self.order_portal_type) - order_line = order.newContent(portal_type=self.order_line_portal_type) - inner_order_line = order.newContent( - portal_type=self.order_line_portal_type).newContent( - portal_type=self.order_line_portal_type) - order_cell = order_line.newContent( - portal_type=self.order_cell_portal_type) - expected_path_list = [order.getPath(), order_line.getPath(), - inner_order_line.getPath(), order_cell.getPath()] - self.stepTic() - # check that all would be catalogged - self.assertSameSet( - self.portal.catalogged_object_path_dict.keys(), - expected_path_list - ) - # do real assertions - self.portal.catalogged_object_path_dict = PersistentMapping() - transaction.commit() - order.reindexObject() - self.stepTic() - self.assertSameSet( - self.portal.catalogged_object_path_dict.keys(), - expected_path_list - ) - finally: - # unwrap catalogObjectList - self.unwrap_catalogObjectList() + order = self.portal.getDefaultModule(self.order_portal_type).newContent( + portal_type=self.order_portal_type) + order_line = order.newContent(portal_type=self.order_line_portal_type) + inner_order_line = order_line.newContent( + portal_type=self.order_line_portal_type) + order_cell = order_line.newContent( + portal_type=self.order_cell_portal_type) + self._testSubContentReindexing(order, [order_line, inner_order_line, + order_cell]) def test_suite(): suite = unittest.TestSuite() diff --git a/product/ERP5/tests/testPackingList.py b/product/ERP5/tests/testPackingList.py index 13650a0475..9e32dd188c 100644 --- a/product/ERP5/tests/testPackingList.py +++ b/product/ERP5/tests/testPackingList.py @@ -1576,78 +1576,30 @@ class TestPackingList(TestPackingListMixin, ERP5TypeTestCase) : def test_subcontent_reindexing_packing_list_line_cell(self): """Tests, that indexation of Packing List are propagated to subobjects during reindxation""" - self.portal.catalogged_object_path_dict = PersistentMapping() - transaction.commit() - try: - # wrap call to catalogObjectList - self.wrap_catalogObjectList() - # prepare test data - packing_list = self.portal.getDefaultModule( - self.packing_list_portal_type).newContent( - portal_type=self.packing_list_portal_type) - packing_list_line = packing_list.newContent( - portal_type=self.packing_list_line_portal_type) - packing_list_cell = packing_list_line.newContent( - portal_type=self.packing_list_cell_portal_type) - expected_path_list = [packing_list.getPath(), - packing_list_line.getPath(), packing_list_cell.getPath()] - self.stepTic() - # check that all would be catalogged - self.assertSameSet( - self.portal.catalogged_object_path_dict.keys(), - expected_path_list - ) - # do real assertions - self.portal.catalogged_object_path_dict = PersistentMapping() - transaction.commit() - packing_list.reindexObject() - self.stepTic() - self.assertSameSet( - self.portal.catalogged_object_path_dict.keys(), - expected_path_list - ) - finally: - # unwrap catalogObjectList - self.unwrap_catalogObjectList() + packing_list = self.portal.getDefaultModule( + self.packing_list_portal_type).newContent( + portal_type=self.packing_list_portal_type) + packing_list_line = packing_list.newContent( + portal_type=self.packing_list_line_portal_type) + packing_list_cell = packing_list_line.newContent( + portal_type=self.packing_list_cell_portal_type) + self._testSubContentReindexing(packing_list, [packing_list_line, + packing_list_cell]) def test_subcontent_reindexing_packing_list_container_line_cell(self): """Tests, that indexation of Packing List are propagated to subobjects during reindxation, for Container, Container Line and Container Cell""" - self.portal.catalogged_object_path_dict = PersistentMapping() - transaction.commit() - try: - # wrap call to catalogObjectList - self.wrap_catalogObjectList() - # prepare test data - packing_list = self.portal.getDefaultModule( - self.packing_list_portal_type).newContent( - portal_type=self.packing_list_portal_type) - container = packing_list.newContent( - portal_type=self.container_portal_type) - container_line = container.newContent( - portal_type=self.container_line_portal_type) - container_cell = container_line.newContent( - portal_type=self.container_cell_portal_type) - expected_path_list = [packing_list.getPath(), container.getPath(), - container_line.getPath(), container_cell] - self.stepTic() - # check that all would be catalogged - self.assertSameSet( - self.portal.catalogged_object_path_dict.keys(), - expected_path_list - ) - # do real assertions - self.portal.catalogged_object_path_dict = PersistentMapping() - transaction.commit() - packing_list.reindexObject() - self.stepTic() - self.assertSameSet( - self.portal.catalogged_object_path_dict.keys(), - expected_path_list - ) - finally: - # unwrap catalogObjectList - self.unwrap_catalogObjectList() + packing_list = self.portal.getDefaultModule( + self.packing_list_portal_type).newContent( + portal_type=self.packing_list_portal_type) + container = packing_list.newContent( + portal_type=self.container_portal_type) + container_line = container.newContent( + portal_type=self.container_line_portal_type) + container_cell = container_line.newContent( + portal_type=self.container_cell_portal_type) + self._testSubContentReindexing(packing_list, [container, container_line, + container_cell]) class TestAutomaticSolvingPackingList(TestPackingListMixin, ERP5TypeTestCase): quiet = 0 -- 2.30.9