[Erp5-report] r36174 rafael - /erp5/trunk/products/ERP5Type/tests/testFolder.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Jun 9 20:12:59 CEST 2010
Author: rafael
Date: Wed Jun 9 20:12:58 2010
New Revision: 36174
URL: http://svn.erp5.org?rev=36174&view=rev
Log:
Added tests for Folder.upgradeObjectClass ...
Modified:
erp5/trunk/products/ERP5Type/tests/testFolder.py
Modified: erp5/trunk/products/ERP5Type/tests/testFolder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/testFolder.py?rev=36174&r1=36173&r2=36174&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/testFolder.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/tests/testFolder.py [utf8] Wed Jun 9 20:12:58 2010
@@ -30,6 +30,7 @@ import unittest
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
from zLOG import LOG
+import transaction
from Products.ERP5Type.tests.utils import LogInterceptor
from Products.ERP5Type.tests.utils import createZODBPythonScript
from Products.ERP5Type.ERP5Type import ERP5TypeInformation
@@ -67,6 +68,7 @@ class TestFolder(ERP5TypeTestCase, LogIn
self.portal.manage_delObjects(ids=[self.folder.getId(),
self.other_folder.getId()])
clearCache()
+ transaction.commit()
def newContent(self):
"""
@@ -161,6 +163,66 @@ class TestFolder(ERP5TypeTestCase, LogIn
# Reset to original permissions
self.folder.manage_permission('Modify portal content', original_permission_list[0]['roles'], original_permission_list[0]['acquire'])
+ def test_upgradeObjectClass(self):
+ """ Test if it changes Object Class """
+ type_list = ['Folder', 'Category' ]
+ self._setAllowedContentTypesForFolderType(type_list)
+ obj = self.folder.newContent(portal_type="Category")
+ from_class = obj.__class__
+ to_class = self.folder.__class__
+ createZODBPythonScript(self.getPortal().portal_skins.custom,
+ "test_upgradeObject", 'x',
+ 'return [1]')
+ test_script = self.getPortal().portal_skins.custom.test_upgradeObject
+ result = self.folder.upgradeObjectClass(test_script, from_class,
+ to_class, test_script)
+ transaction.commit()
+ self.assertEquals(self.folder[obj.getId()].__class__, to_class)
+ self.assertNotEquals(self.folder[obj.getId()].__class__, from_class)
+ self.assertEquals([1], result)
+
+ def test_upgradeObjectClassHierarchicaly(self):
+ """ Test if migrate sub objects Hierarchicaly """
+ type_list = ['Folder', 'Category', 'Base Category']
+ self._setAllowedContentTypesForFolderType(type_list)
+ subfolder = self.newContent()
+ obj = subfolder.newContent(portal_type="Category")
+ from_class = obj.__class__
+ to_class = self.folder.__class__
+ createZODBPythonScript(self.getPortal().portal_skins.custom,
+ "test_upgradeObjectZ", 'x',
+ 'return [1]')
+ test_script = self.getPortal().portal_skins.custom.test_upgradeObjectZ
+ result = self.folder.upgradeObjectClass(test_script, from_class,
+ to_class, test_script)
+ transaction.commit()
+ self.assertEquals(subfolder[obj.getId()].__class__, to_class)
+ self.assertNotEquals(subfolder[obj.getId()].__class__, from_class)
+ self.assertEquals([1], result)
+
+ def test_upgradeObjectClassWithSubObject(self):
+ """ Test If upgrade preseve subobjects """
+ type_list = ['Folder', 'Category', 'Base Category']
+ self._setAllowedContentTypesForFolderType(type_list)
+ subobject = self.folder.newContent(portal_type="Category")
+ obj = subobject.newContent(portal_type="Category")
+ from_class = obj.__class__
+ to_class = self.folder.__class__
+ createZODBPythonScript(self.getPortal().portal_skins.custom,
+ "test_upgradeObjectZ", 'x',
+ 'return [1]')
+ test_script = self.getPortal().portal_skins.custom.test_upgradeObjectZ
+ result = self.folder.upgradeObjectClass(test_script, from_class,
+ to_class, test_script)
+ transaction.commit()
+ self.assertEquals(self.folder[subobject.getId()].__class__, to_class)
+ self.assertNotEquals(self.folder[subobject.getId()].__class__, from_class)
+ self.assertEquals(self.folder[subobject.getId()][obj.getId()].__class__, to_class)
+ self.assertNotEquals(self.folder[subobject.getId()][obj.getId()].__class__, from_class)
+ self.assertEquals([1, 1], result)
+
+
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestFolder))
More information about the Erp5-report
mailing list