def test_board_membership_permissions_for_admin(self): organization_membership = OrganizationMembershipFactory(role=OrganizationMemberRole.ADMIN) board_membership = BoardMembershipFactory(organization_membership=organization_membership) target_board_membership = BoardMembershipFactory( organization_membership=OrganizationMembershipFactory(organization=organization_membership.organization), board_id=board_membership.board_id, ) target_owner_board_membership = BoardMembershipFactory( organization_membership=OrganizationMembershipFactory( organization=organization_membership.organization, role=OrganizationMemberRole.OWNER, ), board_id=board_membership.board_id, ) permissions = PermissionsService.get_board_membership_permissions( board_membership_id=target_board_membership.id, user_id=organization_membership.user_id, ) self._assert_has_all_permissions(permissions) permissions = PermissionsService.get_board_membership_permissions( board_membership_id=target_owner_board_membership.id, user_id=organization_membership.user_id, ) self._assert_has_read_permissions(permissions) permissions = PermissionsService.get_board_membership_permissions( board_membership_id=board_membership.id, user_id=organization_membership.user_id, ) self._assert_has_all_permissions(permissions)
def test_organization_invite_permissions_for_recipient(self): invite = OrganizationInviteFactory() permissions = PermissionsService.get_organization_invite_permissions( organization_invite_id=invite.id, user_id=invite.user_id, ) self._assert_has_all_permissions(permissions)
def test_organization_membership_permissions_for_owner(self): organization_membership = OrganizationMembershipFactory(role=OrganizationMemberRole.OWNER) target_organization_membership = OrganizationMembershipFactory( organization_id=organization_membership.organization_id, ) permissions = PermissionsService.get_organization_membership_permissions( organization_membership_id=target_organization_membership.id, user_id=organization_membership.user_id, ) self._assert_has_all_permissions(permissions) permissions = PermissionsService.get_organization_membership_permissions( organization_membership_id=organization_membership.id, user_id=organization_membership.user_id, ) self._assert_has_all_permissions(permissions)
def test_category_permissions_for_board_member(self): board_membership = BoardMembershipFactory() category = CategoryFactory(board_id=board_membership.board_id) permissions = PermissionsService.get_category_permissions( category_id=category.id, user_id=board_membership.organization_membership.user_id, ) self._assert_has_all_permissions(permissions)
def test_ticket_permissions_for_board_member(self): board_membership = BoardMembershipFactory() ticket = TicketFactory(category=CategoryFactory(board_id=board_membership.board_id)) permissions = PermissionsService.get_ticket_permissions( ticket_id=ticket.id, user_id=board_membership.organization_membership.user_id, ) self._assert_has_all_permissions(permissions)
def test_board_permissions_for_not_a_board_member(self): organization_membership = OrganizationMembershipFactory(role=OrganizationMemberRole.MEMBER) board = BoardFactory(organization_id=organization_membership.organization_id) permissions = PermissionsService.get_board_permissions( board_id=board.id, user_id=organization_membership.user_id, ) self._assert_has_no_permissions(permissions)
def test_board_permissions_for_admin(self): organization_membership = OrganizationMembershipFactory(role=OrganizationMemberRole.ADMIN) board_membership = BoardMembershipFactory(organization_membership=organization_membership) permissions = PermissionsService.get_board_permissions( board_id=board_membership.board_id, user_id=organization_membership.user_id, ) self._assert_has_mutate_permissions(permissions)
def test_board_permissions_for_owner(self): organization_membership = OrganizationMembershipFactory(role=OrganizationMemberRole.OWNER) board_membership = BoardMembershipFactory(organization_membership=organization_membership) permissions = PermissionsService.get_board_permissions( board_id=board_membership.board_id, user_id=organization_membership.user_id, ) self._assert_has_all_permissions(permissions)
def test_organization_permissions_for_organization_member(self): organization_membership_1 = OrganizationMembershipFactory(role=OrganizationMemberRole.ADMIN) organization_membership_2 = OrganizationMembershipFactory(role=OrganizationMemberRole.MEMBER) for member in (organization_membership_1, organization_membership_2): permissions = PermissionsService.get_organization_permissions( organization_id=member.organization_id, user_id=member.user_id, ) self._assert_has_read_permissions(permissions)
def test_category_permissions_for_not_a_board_member(self): category = CategoryFactory() organization_membership = OrganizationMembershipFactory( organization_id=category.board.organization_id, ) permissions = PermissionsService.get_category_permissions( category_id=category.id, user_id=organization_membership.user_id, ) self._assert_has_no_permissions(permissions)
def test_ticket_assignment_permissions_for_not_a_board_member(self): ticket_assignment = TicketAssignmentFactory() organization_membership = OrganizationMembershipFactory( organization_id=ticket_assignment.ticket.category.board.organization_id, ) permissions = PermissionsService.get_ticket_assignment_permissions( ticket_assignment_id=ticket_assignment.id, user_id=organization_membership.user_id, ) self._assert_has_no_permissions(permissions)
def test_organization_permissions_for_a_random_user(self): permissions = PermissionsService.get_organization_permissions( organization_id=OrganizationFactory().id, user_id=UserFactory().id, ) self._assert_has_no_permissions(permissions)
def test_ticket_assignment_permissions_ticket_assignment_not_found(self): permissions = PermissionsService.get_ticket_assignment_permissions( ticket_assignment_id=-1, user_id=UserFactory().id, ) self._assert_has_no_permissions(permissions)
def test_ticket_assignment_permissions_for_a_random_user(self): permissions = PermissionsService.get_ticket_assignment_permissions( ticket_assignment_id=TicketAssignmentFactory().id, user_id=UserFactory().id, ) self._assert_has_no_permissions(permissions)
def test_board_membership_permissions_for_a_random_user(self): permissions = PermissionsService.get_board_membership_permissions( board_membership_id=BoardMembershipFactory().id, user_id=UserFactory().id, ) self._assert_has_no_permissions(permissions)
def test_board_membership_permissions_board_membership_not_found(self): permissions = PermissionsService.get_board_membership_permissions( board_membership_id=-1, user_id=UserFactory().id, ) self._assert_has_no_permissions(permissions)
def test_category_permissions_category_not_found(self): permissions = PermissionsService.get_category_permissions( category_id=-1, user_id=UserFactory().id, ) self._assert_has_no_permissions(permissions)
def test_organization_permissions_organization_not_found(self): permissions = PermissionsService.get_organization_permissions( organization_id=-1, user_id=UserFactory().id, ) self._assert_has_no_permissions(permissions)
def test_category_permissions_for_a_random_user(self): permissions = PermissionsService.get_category_permissions( category_id=CategoryFactory().id, user_id=UserFactory().id, ) self._assert_has_no_permissions(permissions)
def test_organization_membership_permissions_for_not_organization_member(self): permissions = PermissionsService.get_organization_membership_permissions( organization_membership_id=OrganizationMembershipFactory().id, user_id=UserFactory().id, ) self._assert_has_no_permissions(permissions)