def test_accept_existing_member(self, invite): user = UserFactory(email=invite.email) ProjectMemberFactory(project=invite.project, user=user) with pytest.raises(Invite.AlreadyMember): invite.accept(user) assert not invite.invitee assert not invite.accepted
def test_card_assignee_non_member(self): user = UserFactory() card = CardFactory(assignee=user) task = TaskFactory(card=card) assert not card.assignee.has_perm("tasks.create_task", card) assert not card.assignee.has_perm("tasks.move_tasks", card) assert not card.assignee.has_perm("tasks.change_task", task) assert not card.assignee.has_perm("tasks.delete_task", task)
def test_accept_existing_unauthenticated_user(self, client): invite = InviteFactory(email=UserFactory().email) response = client.get( reverse("invites:accept_invite", args=[invite.pk])) assert response.url.startswith(reverse(settings.LOGIN_URL)) invite.refresh_from_db() assert not invite.accepted
def test_non_project_member(self, column): user = UserFactory() assert not user.has_perm("columns.create_column", column.project) assert not user.has_perm("columns.move_columns", column.project) assert not user.has_perm("columns.view_column", column) assert not user.has_perm("columns.change_column", column) assert not user.has_perm("columns.delete_column", column)
def login_user(client): password = "******" user = UserFactory() user.set_password(password) user.save() client.login(username=user.username, password=password) return user
def test_save(self, project): # one new user and one existing user UserFactory(email="*****@*****.**") data = { "emails": """ [email protected] [email protected] """ } form = InviteForm(data, project=project) assert form.is_valid() invites = form.save(project.owner) assert len(invites) == 2
def test_project_admin(self, column): user = UserFactory() ProjectMemberFactory(user=user, project=column.project, role=ProjectMember.Role.ADMIN) assert user.has_perm("columns.create_column", column.project) assert user.has_perm("columns.move_columns", column.project) assert user.has_perm("columns.view_column", column) assert user.has_perm("columns.change_column", column) assert user.has_perm("columns.delete_column", column)
def test_project_manager(self, column): user = UserFactory() ProjectMemberFactory(user=user, project=column.project, role=ProjectMember.Role.MANAGER) assert not user.has_perm("columns.create_column", column.project) assert not user.has_perm("columns.move_columns", column.project) assert user.has_perm("columns.view_column", column) assert not user.has_perm("columns.change_column", column) assert not user.has_perm("columns.delete_column", column)
def test_accessible_to_if_not_owner(self, card): assert Card.objects.accessible_to(UserFactory()).count() == 0
def test_accept(self, invite): user = UserFactory(email=invite.email) invite.accept(user) assert invite.invitee == user assert invite.accepted
def user(): return UserFactory()
def test_accessible_to_if_not_owner(self, project): assert Project.objects.accessible_to(UserFactory()).count() == 0