From 89b67f94e046fcfa9ebb65b2d00e50bf8c3f00e8 Mon Sep 17 00:00:00 2001 From: Nicolas Dumazet <nicolas.dumazet@nexedi.com> Date: Tue, 1 Feb 2011 04:53:45 +0000 Subject: [PATCH] arg, several tests were using those utility methods. Clarify the situation: raise useful errors. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@42865 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5Type/tests/ERP5TypeTestCase.py | 6 ++++- product/ERP5Type/tests/testERP5Type.py | 27 ++++++++++++++++------ 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/product/ERP5Type/tests/ERP5TypeTestCase.py b/product/ERP5Type/tests/ERP5TypeTestCase.py index 747910d96a..f82761c860 100644 --- a/product/ERP5Type/tests/ERP5TypeTestCase.py +++ b/product/ERP5Type/tests/ERP5TypeTestCase.py @@ -399,12 +399,16 @@ class ERP5TypeTestCaseMixin(ProcessingNodeTestCase, PortalTestCase): getattr(self.getPortal(), 'currency', None)) def _addPropertySheet(self, portal_type_name, - property_sheet_name='TestPropertySheet'): + property_sheet_name='TestPropertySheet', + deprecated=None): """Utility method to add a property sheet to a type information. You might be interested in the higer level method _addProperty This method registers all added property sheets, to be able to remove them in tearDown. """ + if deprecated is not None: + raise ValueError("Please update this test to use ZODB property sheets") + portal_property_sheets = self.portal.portal_property_sheets property_sheet = getattr(portal_property_sheets, property_sheet_name, None) if property_sheet is None: diff --git a/product/ERP5Type/tests/testERP5Type.py b/product/ERP5Type/tests/testERP5Type.py index 3ab8defcc2..c6888930b3 100644 --- a/product/ERP5Type/tests/testERP5Type.py +++ b/product/ERP5Type/tests/testERP5Type.py @@ -83,18 +83,31 @@ class PropertySheetTestCase(ERP5TypeTestCase): transaction.commit() super(PropertySheetTestCase, self).tearDown() - def _addProperty(self, portal_type_name, property_sheet_id, property_id, + def _addProperty(self, portal_type_name, property_sheet_id, + property_id=None, commit=True, **kw): - """quickly add a property to a type""" - self.assertTrue('portal_type' in kw) + """quickly add a property to a type + + It always associate / create the property sheet with id + property_sheet_id to the portal type portal_type_name. + + When property_sheet_id is passed, we create a property of this + id, using kw** as parameters to the constructor. + """ ps = self._addPropertySheet(portal_type_name, property_sheet_name=property_sheet_id) - property = getattr(ps, property_id, None) - if property is not None: - ps._delObject(property_id) - property = ps.newContent(reference=property_id, **kw) + if property_id is not None: + if "\n" in property_id: + raise ValueError("Please update this test to use ZODB property sheets") + + self.assertTrue('portal_type' in kw) + property = getattr(ps, property_id, None) + if property is not None: + ps._delObject(property_id) + + property = ps.newContent(reference=property_id, **kw) if commit: transaction.commit() -- 2.30.9