def test_create_new_story_rights(self): story_services.assign_role(self.user_admin, self.user_a, story_domain.ROLE_MANAGER, self.STORY_ID) story_rights = story_services.get_story_rights(self.STORY_ID) self.assertTrue( story_services.check_can_edit_story(self.user_a, story_rights)) self.assertFalse( story_services.check_can_edit_story(self.user_b, story_rights))
def test_non_admin_cannot_assign_roles(self): with self.assertRaisesRegexp( Exception, 'UnauthorizedUserException: Could not assign new role.'): story_services.assign_role(self.user_b, self.user_a, story_domain.ROLE_MANAGER, self.STORY_ID) story_rights = story_services.get_story_rights(self.STORY_ID) self.assertFalse( story_services.check_can_edit_story(self.user_a, story_rights)) self.assertFalse( story_services.check_can_edit_story(self.user_b, story_rights))
def test_reassigning_manager_role_to_same_user(self): story_services.assign_role(self.user_admin, self.user_a, story_domain.ROLE_MANAGER, self.STORY_ID) with self.assertRaisesRegexp( Exception, 'This user already is a manager for this story'): story_services.assign_role(self.user_admin, self.user_a, story_domain.ROLE_MANAGER, self.STORY_ID) story_rights = story_services.get_story_rights(self.STORY_ID) self.assertTrue( story_services.check_can_edit_story(self.user_a, story_rights)) self.assertFalse( story_services.check_can_edit_story(self.user_b, story_rights))
def test_reassigning_none_role_to_same_user(self): with self.assertRaisesRegexp( Exception, 'This user already has no role for this story'): story_services.assign_role(self.user_admin, self.user_a, story_domain.ROLE_NONE, self.STORY_ID) story_rights = story_services.get_story_rights(self.STORY_ID) self.assertFalse( story_services.check_can_edit_story(self.user_a, story_rights))
def test_admin_can_manage_story(self): story_rights = story_services.get_story_rights(self.STORY_ID) self.assertTrue( story_services.check_can_edit_story(self.user_admin, story_rights))