diff --git a/atst/models/workspace_user.py b/atst/models/workspace_user.py index fb79ebbd..216b07aa 100644 --- a/atst/models/workspace_user.py +++ b/atst/models/workspace_user.py @@ -9,13 +9,6 @@ class WorkspaceUser(object): self.user = user self.workspace_role = workspace_role - def permissions(self): - atat_permissions = set(self.user.atat_role.permissions) - workspace_permissions = ( - [] if self.workspace_role is None else self.workspace_role.role.permissions - ) - return set(workspace_permissions).union(atat_permissions) - @property def workspace(self): return self.workspace_role.workspace diff --git a/tests/domain/test_workspace_users.py b/tests/domain/test_workspace_users.py index 6e3aa710..4cea3970 100644 --- a/tests/domain/test_workspace_users.py +++ b/tests/domain/test_workspace_users.py @@ -1,6 +1,8 @@ from atst.domain.workspace_users import WorkspaceUsers from atst.domain.users import Users -from tests.factories import WorkspaceFactory, UserFactory +from atst.models.invitation import Status as InvitationStatus + +from tests.factories import WorkspaceFactory, UserFactory, InvitationFactory def test_can_create_new_workspace_user(): @@ -34,3 +36,24 @@ def test_can_update_existing_workspace_user(): workspace_users[0].workspace_role.role.name == new_user.workspace_roles[0].role.name ) + + +def test_workspace_user_permissions(): + workspace_one = WorkspaceFactory.create() + workspace_two = WorkspaceFactory.create() + new_user = UserFactory.create() + WorkspaceUsers.add_many( + workspace_one.id, [{"id": new_user.id, "workspace_role": "developer"}] + ) + WorkspaceUsers.add_many( + workspace_two.id, [{"id": new_user.id, "workspace_role": "developer"}] + ) + InvitationFactory.create( + workspace=workspace_one, + user=new_user, + inviter=workspace_one.owner, + status=InvitationStatus.ACCEPTED, + ) + + assert WorkspaceUsers.workspace_user_permissions(workspace_one, new_user) + assert not WorkspaceUsers.workspace_user_permissions(workspace_two, new_user)