diff --git a/product/CMFCategory/tests/testCMFCategory.py b/product/CMFCategory/tests/testCMFCategory.py index c7f28407928bd5d1a8b1d71b78c25fa0e7191333..df3348c59217dc8d9df30e3f31f248a238d38c6a 100755 --- a/product/CMFCategory/tests/testCMFCategory.py +++ b/product/CMFCategory/tests/testCMFCategory.py @@ -363,6 +363,34 @@ class TestCMFCategory(ERP5TypeTestCase): self.assertEqual(len(o1.getGenderRelatedValueList()),2) + def test_13_RenameCategory(self, quiet=0, run=run_all_test) : + if not run: return + if not quiet: + ZopeTestCase._print('\n Test Category Renaming') + LOG('Testing... ',0,'Category Renaming') + + portal = self.getPortal() + france = portal.portal_categories.resolveCategory('region/europe/west/france') + self.assertNotEqual(france, None) + + p1 = self.getPersonModule()._getOb(self.id1) + p1.setRegion('europe/west/france') + p1.immediateReindexObject() + self.tic() + + west = portal.portal_categories.resolveCategory('region/europe/west') + # To be able to change the object id, we must first commit the transaction, + # because in Zope we are not able to create an object and modify its id + # in the same transaction + get_transaction().commit() + west.setId("ouest") + west.immediateReindexObject() + self.tic() + + self.assertEqual(west, + portal.portal_categories.resolveCategory('region/europe/ouest')) + self.assertEqual(p1.getRegion(), 'europe/ouest/france') + self.assertTrue(p1 in west.getRegionRelatedValueList()) if __name__ == '__main__': framework()