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`` .. code-block:: xml 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 ------------------ .. code-block:: python 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 ---------------- .. code-block:: python 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’ ) )