From 8bdb9329aaf647685a8611222f7fbabdcfe3bc24 Mon Sep 17 00:00:00 2001 From: Ivan Tyagov <ivan@nexedi.com> Date: Fri, 4 Sep 2009 11:01:00 +0000 Subject: [PATCH] Implement tests with real Sale Order / Resource / Supply Line. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@28824 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testSupply.py | 48 ++++++++++---------------------- 1 file changed, 15 insertions(+), 33 deletions(-) diff --git a/product/ERP5/tests/testSupply.py b/product/ERP5/tests/testSupply.py index c21b406aed..f80db8accd 100644 --- a/product/ERP5/tests/testSupply.py +++ b/product/ERP5/tests/testSupply.py @@ -30,7 +30,6 @@ import unittest import transaction from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase -from AccessControl.SecurityManagement import newSecurityManager from Products.ERP5Type.tests.utils import reindex from DateTime import DateTime @@ -44,7 +43,7 @@ class TestSupplyMixin: """ List of needed Business Templates """ - return ('erp5_base', 'erp5_pdm', 'erp5_dummy_movement', 'erp5_trade',) + return ('erp5_base', 'erp5_pdm', 'erp5_dummy_movement', 'erp5_trade', 'erp5_invoicing') def afterSetUp(self, quiet=1, run=1): self.login() @@ -58,22 +57,6 @@ class TestSupplyMixin: id='testing_folder') self.folder = self.portal.testing_folder - def changeUser(self, user_id): - """ - Change the current user to user_id - """ - user_folder = self.getPortal().acl_users - user = user_folder.getUserById(user_id).__of__(user_folder) - newSecurityManager(None, user) - - def createTestUser(self, **kw): - """ - """ - person = self.portal.person_module.newContent(portal_type="Person", **kw) - person.validate() - - - class TestSaleSupply(TestSupplyMixin, ERP5TypeTestCase): """ Test Supplies usage @@ -197,35 +180,34 @@ class TestSaleSupply(TestSupplyMixin, ERP5TypeTestCase): def test_03_SupplyLineApplied(self, quiet=0, run=run_all_test): """ - Test supply line being found based on different users and security. - XXX: Still incimplete. + Test supply line being found. + XXX: This tests fails for second run due to bug #1248. """ if not run: return portal = self.portal - original_date = DateTime().earliestTime() # lower precision of date + original_date = DateTime().earliestTime() # clean up portal.sale_supply_module.manage_delObjects(list(portal.sale_supply_module.objectIds())) - portal.person_module.manage_delObjects(list(portal.person_module.objectIds())) self.stepTic() - # movement is in middle of timeframe... - movement = self._makeMovement(start_date=original_date) supply = self._makeSupply(start_date_range_min=original_date) supply_line = self._makeSupplyLine(supply) self.stepTic() - - user_reference = "dummy_%s" %self.supply_portal_type[:5] - self.createTestUser(reference=user_reference) - self.stepTic() - self.changeUser(user_reference) - res = self.domain_tool.searchPredicateList(movement, + # create Sale Order and check Supply Line settings when + # a Resource is set on Sale Order Line + product = portal.product_module.newContent(portal_type="Product", + title = "Product 1") + sale_order = portal.sale_order_module.newContent(portal_type = 'Sale Order', + start_date = DateTime()) + sale_order_line = sale_order.newContent(portal_type = 'Sale Order Line') + sale_order_line.setResource(product.getRelativeUrl()) + self.stepTic() + supply_line_list = self.domain_tool.searchPredicateList(sale_order, portal_type=self.supply_line_portal_type) - - # ...and predicate shall NOT be found - self.assertSameSet([], res) + self.assertSameSet([supply_line], supply_line_list) class TestPurchaseSupply(TestSaleSupply): """ -- 2.30.9