def testStatusCategoriesGetCleared(self): mt = getattr(self.portal, TOOLNAME) pt = 'TestMember' cat_map = ICategoryMapper(mt) cat_set = generateCategorySetIdForType(pt) self.failUnless(cat_map.hasCategorySet(cat_set)) mt.unregisterMembraneType(pt) self.failIf(cat_map.hasCategorySet(cat_set))
def testStatusCategoriesAreInitialized(self): mt = getattr(self.portal, TOOLNAME) cat_map = ICategoryMapper(mt) for pt in ['TestMember', 'TestGroup']: cat_set = generateCategorySetIdForType(pt) self.failUnless(cat_map.hasCategorySet(cat_set)) self.failUnless(cat_map.hasCategory(cat_set, ACTIVE_STATUS_CATEGORY)) wft = getattr(self.portal, 'portal_workflow') chain = wft.getChainForPortalType(pt) for wfid in chain: wf = getattr(wft, wfid) states = wf.states.objectIds() for state in states: self.failUnless(cat_map.isInCategory(cat_set, ACTIVE_STATUS_CATEGORY, state))
class TestCategoryMapper(ZopeTestCase.ZopeTestCase): layer = ZCMLLayer def afterSetUp(self): self.obj = Foo() self.cat_map = ICategoryMapper(self.obj) def testAddCategorySet(self): cat_set = 'category_set' self.cat_map.addCategorySet(cat_set) self.failUnless(self.cat_map.hasCategorySet(cat_set)) self.failUnless(cat_set in self.cat_map.listCategorySets()) def testDelCategorySet(self): cat_set = 'category_set' self.cat_map.addCategorySet(cat_set) self.failUnless(self.cat_map.hasCategorySet(cat_set)) self.cat_map.delCategorySet(cat_set) self.failIf(self.cat_map.hasCategorySet(cat_set)) self.failUnless(len(self.cat_map.listCategorySets()) == 0) def testAddCategory(self): cat_set1 = 'category_set1' cat_set2 = 'category_set2' cat = 'category' self.cat_map.addCategorySet(cat_set1) self.cat_map.addCategorySet(cat_set2) self.cat_map.addCategory(cat_set1, cat) self.failUnless(self.cat_map.hasCategory(cat_set1, cat)) self.failIf(self.cat_map.hasCategory(cat_set2, cat)) def testMissingCatSetRaisesError(self): self.assertRaises(KeyError, self.cat_map.addToCategory, self.cat_map, 'category_set', 'category') self.assertRaises(KeyError, self.cat_map.removeFromCategory, self.cat_map, 'category_set', 'category') def testMissingCategoryRaisesError(self): cat_set = 'category_set' self.cat_map.addCategorySet(cat_set) self.assertRaises(KeyError, self.cat_map.addToCategory, self.cat_map, cat_set, 'category') self.assertRaises(KeyError, self.cat_map.removeFromCategory, self.cat_map, cat_set, 'category') def testAddToCategory(self): cat_set = 'category_set' cat1 = 'category1' cat2 = 'category2' datum1 = 'datum1' datum2 = 'datum2' self.cat_map.addCategorySet(cat_set) self.cat_map.addCategory(cat_set, cat1) self.cat_map.addCategory(cat_set, cat2) self.cat_map.addToCategory(cat_set, cat1, datum1) self.failUnless(self.cat_map.isInCategory(cat_set, cat1, datum1)) self.failIf(self.cat_map.isInCategory(cat_set, cat1, datum2)) self.failIf(self.cat_map.isInCategory(cat_set, cat2, datum1)) self.cat_map.addToCategory(cat_set, cat1, datum2) self.failUnless(self.cat_map.isInCategory(cat_set, cat1, datum1)) self.failUnless(self.cat_map.isInCategory(cat_set, cat1, datum2)) self.failUnless(set([datum1, datum2]) == \ set(self.cat_map.listCategoryValues(cat_set, cat1))) def testRemoveFromCategory(self): cat_set = 'category_set' cat = 'category' datum1 = 'datum1' datum2 = 'datum2' self.cat_map.addCategorySet(cat_set) self.cat_map.addCategory(cat_set, cat) self.cat_map.addToCategory(cat_set, cat, datum1) self.cat_map.addToCategory(cat_set, cat, datum2) self.failUnless(set([datum1, datum2]) == \ set(self.cat_map.listCategoryValues(cat_set, cat))) self.cat_map.removeFromCategory(cat_set, cat, datum1) self.failIf(self.cat_map.isInCategory(cat_set, cat, datum1)) self.failUnless(self.cat_map.isInCategory(cat_set, cat, datum2)) self.failUnless(set([datum2]) == \ set(self.cat_map.listCategoryValues(cat_set, cat)))