[Erp5-report] r9341 - /erp5/trunk/products/ERP5Type/tests/testERP5Type.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Aug 23 10:22:31 CEST 2006


Author: jerome
Date: Wed Aug 23 10:22:28 2006
New Revision: 9341

URL: http://svn.erp5.org?rev=9341&view=rev
Log:
add a test for objects renaming 


Modified:
    erp5/trunk/products/ERP5Type/tests/testERP5Type.py

Modified: erp5/trunk/products/ERP5Type/tests/testERP5Type.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/testERP5Type.py?rev=9341&r1=9340&r2=9341&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/testERP5Type.py (original)
+++ erp5/trunk/products/ERP5Type/tests/testERP5Type.py Wed Aug 23 10:22:28 2006
@@ -31,6 +31,13 @@
 
     def afterSetUp(self):
       self.login()
+
+    def beforeTearDown(self):
+      for module in [ self.getPersonModule(),
+                      self.getOrganisationModule(),
+                      self.getCategoryTool().region ]:
+        module.manage_delObjects(list(module.objectIds()))
+      get_transaction().commit()
 
     def getRandomString(self):
       return str(randint(-10000000,100000000))
@@ -293,7 +300,32 @@
       # call an accessor, _aq_dynamic will generate accessors
       orga.getId()
       self._ignore_log_errors()
-
+    
+    def test_RenameObjects(self):
+      """Test object renaming.
+      As we overloaded some parts of OFS, it's better to test again some basic
+      features.
+      """
+      folder = self.getOrganisationModule()
+      id_list = [chr(x) for x in range(ord('a'), ord('z')+1)]
+      for id_ in id_list:
+        folder.newContent(portal_type='Organisation', id=id_)
+      # commit a subtransaction, so that we can rename objecs (see
+      # OFS.ObjectManager._getCopy)
+      get_transaction().commit(1)
+
+      for obj in folder.objectValues():
+        new_id = '%s_new' % obj.getId()
+        folder.manage_renameObjects([obj.getId()], [new_id])
+        self.assertEquals(obj.getId(), new_id)
+
+      for obj_id in folder.objectIds():
+        self.failUnless(obj_id.endswith('_new'),
+                        'bad object id: %s' % obj_id)
+      for id_ in id_list:
+        new_id = '%s_new' % id_
+        self.assertEquals(folder._getOb(new_id).getId(), new_id)
+      
 if __name__ == '__main__':
     framework()
 else:




More information about the Erp5-report mailing list