refactor(projects): remove project membership access model
This commit is contained in:
@@ -5,7 +5,7 @@ from django.utils import timezone
|
||||
from rest_framework.test import APIClient
|
||||
|
||||
from apps.clients.models import Client
|
||||
from apps.projects.models import Project, ProjectMembership
|
||||
from apps.projects.models import Project
|
||||
from apps.tags.models import Tag
|
||||
from apps.users.models import User
|
||||
from apps.workspaces.models import Workspace, WorkspaceMembership
|
||||
@@ -75,20 +75,7 @@ def workspace(owner, admin, member, guest):
|
||||
|
||||
@pytest.fixture()
|
||||
def project(workspace, owner, member):
|
||||
project = Project.objects.create(workspace=workspace, name="Alpha", description="")
|
||||
ProjectMembership.objects.create(
|
||||
project=project,
|
||||
user=owner,
|
||||
role=ProjectMembership.Role.MANAGER,
|
||||
is_active=True,
|
||||
)
|
||||
ProjectMembership.objects.create(
|
||||
project=project,
|
||||
user=member,
|
||||
role=ProjectMembership.Role.MANAGER,
|
||||
is_active=True,
|
||||
)
|
||||
return project
|
||||
return Project.objects.create(workspace=workspace, name="Alpha", description="")
|
||||
|
||||
|
||||
def test_member_is_read_only_for_clients_and_projects(api_client, member, workspace, project):
|
||||
@@ -118,16 +105,6 @@ def test_member_is_read_only_for_clients_and_projects(api_client, member, worksp
|
||||
)
|
||||
archive_project_response = api_client.post(f"/api/projects/{project.id}/archive/")
|
||||
delete_project_response = api_client.delete(f"/api/projects/{project.id}/")
|
||||
membership_response = api_client.post(
|
||||
"/api/memberships/",
|
||||
{
|
||||
"project_id": str(project.id),
|
||||
"user_id": str(workspace.owner_id),
|
||||
"role": ProjectMembership.Role.MEMBER,
|
||||
},
|
||||
format="json",
|
||||
)
|
||||
|
||||
assert client_response.status_code == 403
|
||||
assert update_client_response.status_code == 403
|
||||
assert delete_client_response.status_code == 403
|
||||
@@ -135,7 +112,6 @@ def test_member_is_read_only_for_clients_and_projects(api_client, member, worksp
|
||||
assert update_project_response.status_code == 403
|
||||
assert archive_project_response.status_code == 403
|
||||
assert delete_project_response.status_code == 403
|
||||
assert membership_response.status_code == 403
|
||||
|
||||
|
||||
def test_member_can_create_tags_and_manage_own_time_entries(api_client, owner, member, workspace):
|
||||
@@ -218,7 +194,7 @@ def test_guest_is_read_only_for_workspace_resources(api_client, owner, guest, wo
|
||||
assert edit_project_response.status_code == 403
|
||||
|
||||
|
||||
def test_member_project_manager_cannot_edit_project(api_client, member, project):
|
||||
def test_member_cannot_edit_project(api_client, member, project):
|
||||
api_client.force_authenticate(user=member)
|
||||
|
||||
response = api_client.patch(
|
||||
|
||||
@@ -3,7 +3,7 @@ from decimal import Decimal
|
||||
import pytest
|
||||
from rest_framework.test import APIClient
|
||||
|
||||
from apps.projects.models import Project, ProjectMembership
|
||||
from apps.projects.models import Project
|
||||
from apps.time_entries.services.rates import resolve_rate
|
||||
from apps.users.models import User
|
||||
from apps.workspaces.models import PriceUnit, Workspace, WorkspaceMembership, WorkspaceUserRate
|
||||
@@ -39,11 +39,7 @@ def workspace(owner, admin, member):
|
||||
|
||||
@pytest.fixture()
|
||||
def project(workspace, owner, admin, member):
|
||||
project = Project.objects.create(workspace=workspace, name="Billing")
|
||||
ProjectMembership.objects.create(project=project, user=owner, role=ProjectMembership.Role.MANAGER, is_active=True)
|
||||
ProjectMembership.objects.create(project=project, user=admin, role=ProjectMembership.Role.MANAGER, is_active=True)
|
||||
ProjectMembership.objects.create(project=project, user=member, role=ProjectMembership.Role.MEMBER, is_active=True)
|
||||
return project
|
||||
return Project.objects.create(workspace=workspace, name="Billing")
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
|
||||
Reference in New Issue
Block a user