Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
 def test_project_member(self, column):
     user = UserFactory()
     ProjectMemberFactory(user=user, project=column.project)
     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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
    def test_accept_project_member(self, client, login_user):
        invite = InviteFactory(email=login_user.email)
        ProjectMemberFactory(project=invite.project, user=login_user)
        response = client.get(
            reverse("invites:accept_invite", args=[invite.pk]))
        assert response.url == invite.project.get_absolute_url()

        # tbd: invite model test
        invite.refresh_from_db()
        assert not invite.accepted
Ejemplo n.º 5
0
 def test_project_member_email(self, project):
     member = ProjectMemberFactory(project=project)
     data = {
         "emails":
         f"""
         {member.user.email}
         [email protected]
         """
     }
     form = InviteForm(data, project=project)
     assert not form.is_valid()
Ejemplo n.º 6
0
    def test_project_roles(self, user):

        member_1 = ProjectMemberFactory(user=user, role=ProjectMember.Role.MEMBER)
        member_2 = ProjectMemberFactory(user=user, role=ProjectMember.Role.MANAGER)
        member_3 = ProjectMemberFactory(user=user, role=ProjectMember.Role.ADMIN)
        member_4 = ProjectMemberFactory()

        own_project = ProjectFactory(owner=user)

        assert user.project_roles[member_1.project_id] == ProjectMember.Role.MEMBER
        assert user.project_roles[member_2.project_id] == ProjectMember.Role.MANAGER
        assert user.project_roles[member_3.project_id] == ProjectMember.Role.ADMIN
        assert member_4.project_id not in user.project_roles
        assert own_project.id not in user.project_roles

        assert user.is_project_member(member_1.project)
        assert user.is_project_member(member_2.project)
        assert user.is_project_member(member_3.project)
        assert not user.is_project_member(member_4.project)
        assert user.is_project_member(own_project)

        assert not user.is_project_manager(member_1.project)
        assert user.is_project_manager(member_2.project)
        assert not user.is_project_manager(member_3.project)
        assert not user.is_project_manager(member_4.project)
        assert not user.is_project_manager(own_project)

        assert not user.is_project_admin(member_1.project)
        assert not user.is_project_admin(member_2.project)
        assert user.is_project_admin(member_3.project)
        assert not user.is_project_admin(member_4.project)
        assert not user.is_project_admin(own_project)

        assert not user.is_project_owner(member_1.project)
        assert not user.is_project_owner(member_2.project)
        assert not user.is_project_owner(member_3.project)
        assert not user.is_project_owner(member_4.project)
        assert user.is_project_owner(own_project)
Ejemplo n.º 7
0
 def test_accessible_to_if_inactive_member(self, user):
     member = ProjectMemberFactory(user=user, is_active=False)
     CardFactory(project=member.project)
     assert Card.objects.accessible_to(user).count() == 0
Ejemplo n.º 8
0
def member(project, login_user):
    return ProjectMemberFactory(project=project, user=login_user)