Workflows, Roles and Permissions¶
Role installed¶
Test if a certain role (‘External Editor’) has been installed:
def test_external_editor_role_installed(self):
self.assertTrue('External Editor' in self.wftool.validRoles())
profiles/default/rolemap.xml
<?xml version="1.0"?>
<rolemap>
<roles>
<role name="External Editor" />
</roles>
</rolemap>
Roles has permission¶
Test if a certain role (‘External Editor’) has a certain permission (‘request review’):
def test_external_editor_has_request_review_permission(self):
self.assertEqual(
[
x for x in self.portal.rolesOfPermission('Request review')
if x['name'] == 'External Editor'
][0]['selected'],
'SELECTED',
'External Editor role does not possess the "Request review" '
'permission')
Workflow installed¶
def test_workflows_installed(self):
"""Make sure both comment workflows have been installed properly."""
self.assertTrue(
‘one_state_workflow’ in self.portal.portal_workflow.objectIds())
self.assertTrue(
‘comment_review_workflow’ in self.portal.portal_workflow.objectIds())
Default workflow¶
def test_default_workflow(self):
"""Make sure one_state_workflow is the default workflow."""
self.assertEqual(
(‘one_state_workflow’,),
self.portal.portal_workflow.getChainForPortalType(
‘Discussion Item’
)
)