[Erp5-report] r21508 - /erp5/trunk/products/CMFCategory/tests/testCMFCategory.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Jun 11 17:23:47 CEST 2008


Author: nicolas
Date: Wed Jun 11 17:23:43 2008
New Revision: 21508

URL: http://svn.erp5.org?rev=21508&view=rev
Log:
Test that category Accessors are not generated if BaseCategory is missing

Modified:
    erp5/trunk/products/CMFCategory/tests/testCMFCategory.py

Modified: erp5/trunk/products/CMFCategory/tests/testCMFCategory.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFCategory/tests/testCMFCategory.py?rev=21508&r1=21507&r2=21508&view=diff
==============================================================================
--- erp5/trunk/products/CMFCategory/tests/testCMFCategory.py (original)
+++ erp5/trunk/products/CMFCategory/tests/testCMFCategory.py Wed Jun 11 17:23:43 2008
@@ -32,6 +32,7 @@
 from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
 from AccessControl.SecurityManagement import newSecurityManager
 from AccessControl.SecurityManagement import noSecurityManager
+from Products.ERP5Type.Base import _aq_reset
 from zLOG import LOG
 
 try:
@@ -1087,6 +1088,44 @@
       obj = category_tool.resolveCategory('mapping/order/' + relative_url)
       self.assertEquals(obj, value)
 
+  def test_31_assert_raise_if_base_category_is_missing(self):
+    #First remove Base Category
+    self.portal.portal_categories.manage_delObjects(['region'])
+    get_transaction().commit()
+    self.tic()
+    #call _aq_reset to regenerate Accessors
+    _aq_reset()
+    obj = self.portal.person_module.newContent(portal_type='Person')
+    get_transaction().commit()
+    self.tic()
+    try:
+      #Setters
+      self.assertRaises(AttributeError, getattr, obj, 'setRegion')
+      self.assertRaises(AttributeError, getattr, obj, 'setRegionValueList')
+      self.assertRaises(AttributeError, getattr, obj, 'setRegionList')
+      #getters
+      self.assertRaises(AttributeError, getattr, obj, 'getRegion')
+      self.assertRaises(AttributeError, getattr, obj, 'getRegionValueList')
+      self.assertRaises(AttributeError, getattr, obj, 'getRegionList')
+      #Tester
+      self.assertRaises(AttributeError, getattr, obj, 'hasRegion')
+    finally:
+      #add Base Category
+      self.portal.portal_categories.newContent(id='region', portal_type='Base Category')
+    get_transaction().commit()
+    self.tic()
+    #check Method exists after base_category creation
+    #Setters
+    self.assertTrue(getattr(obj, 'setRegion') is not None)
+    self.assertTrue(getattr(obj, 'setRegionValueList') is not None)
+    self.assertTrue(getattr(obj, 'setRegionList') is not None)
+    #getters
+    self.assertTrue(getattr(obj, 'getRegion') is not None)
+    self.assertTrue(getattr(obj, 'getRegionValueList') is not None)
+    self.assertTrue(getattr(obj, 'getRegionList') is not None)
+    #Tester
+    self.assertTrue(getattr(obj, 'hasRegion') is not None)
+
 def test_suite():
   suite = unittest.TestSuite()
   suite.addTest(unittest.makeSuite(TestCMFCategory))




More information about the Erp5-report mailing list