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