def testExecute(self):
        e = GroupAction()
        e.groupid = 'Fav Customer'

        ex = getMultiAdapter(
            (self.portal, e, DummyEvent(self.folder)), IExecutable)
        self.assertTrue(ex())
        group = self.gt.getGroupById(e.groupid)
        self.assertFalse(group)
    def testExecuteWithError(self):
        ''' Try to remove a non existent group'''
        e = GroupAction()
        e.groupid = 'Non Existent Group'

        ex = getMultiAdapter(
            (self.portal, e, DummyEvent(self.folder)), IExecutable)

        self.assertFalse(ex())
    def testExecuteInterp(self):
        # Setup scenario
        self.portal.invokeFactory('Folder', 'customer', title='Fav Customer')
        folder = self.portal['customer']
        e = GroupAction()
        e.groupid = '${title}'

        ex = getMultiAdapter(
            (self.portal, e, DummyEvent(folder)), IExecutable)
        self.assertTrue(ex())
        group = self.gt.getGroupById(folder.Title())
        self.assertFalse(group)
    def testExecuteWithoutGroupTool(self):
        ''' Test what happens if portal_groups is not available '''
        # Remove portal_tool
        self.portal._delOb('portal_groups')

        # Execute action
        e = GroupAction()
        e.groupid = 'New Group'

        ex = getMultiAdapter(
            (self.portal, e, DummyEvent(self.folder)), IExecutable)
        self.assertFalse(ex())
    def testExecuteWithoutGroupManagementPlugin(self):
        ''' No group management plugins enabled '''
        from Products.PlonePAS.interfaces.group import IGroupManagement
        # Disable group management plugins
        acl_users = getToolByName(self.portal, 'acl_users')
        acl_users.plugins.deactivatePlugin(IGroupManagement, 'source_groups')
        # Execute action
        e = GroupAction()
        e.groupid = 'Fav Customer'

        ex = getMultiAdapter(
            (self.portal, e, DummyEvent(self.folder)), IExecutable)
        self.assertFalse(ex())
 def testActionSummary(self):
     e = GroupAction()
     e.groupid = '${title}'
     summary = u'Remove an user group with id ${groupid}'
     self.assertEqual(summary, e.summary)