cleanup, add test for workspace user permissions
This commit is contained in:
parent
ead84834d0
commit
4c03a403f7
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user