Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/apps/applets/tests/fixtures/applets.py
Original file line number Diff line number Diff line change
Expand Up @@ -333,11 +333,11 @@ async def applet_one_lucy_reviewer(
mocker: MockerFixture,
tom: User,
lucy: User,
tom_applet_subject: Subject,
tom_applet_one_subject: Subject,
) -> AppletFull:
mocker.patch(
"apps.workspaces.service.user_applet_access.UserAppletAccessService._get_default_role_meta",
return_value={"subjects": [str(tom_applet_subject.id)]},
return_value={"subjects": [str(tom_applet_one_subject.id)]},
)
await UserAppletAccessService(session, tom.id, applet_one.id).add_role(lucy.id, Role.REVIEWER)
return applet_one
Expand Down
55 changes: 55 additions & 0 deletions src/apps/workspaces/tests/test_workspaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -1483,3 +1483,58 @@ async def test_user_last_activity_workspace_respondent_retrieve(
assert date_now.year == date_answer.year
assert date_now.hour == date_answer.hour
assert date_now.minute == date_answer.minute

async def test_applet_owner_can_view_organizers(self, client, tom):
client.login(tom)
response = await client.get(
self.workspace_managers_url.format(owner_id=tom.id),
dict(ordering="+email"),
)

assert response.status_code == 200
data = response.json()
assert data["count"] == 1 # lucy
assert data["count"] == len(data["result"])
tom_result = data["result"][0]
assert tom_result["id"] == str(tom.id)
assert tom_result["email"] == tom.email_encrypted

async def test_coordinator_can_NOT_view_organizers(
self,
client,
applet_one_lucy_coordinator: AppletFull,
tom,
):
client.login(applet_one_lucy_coordinator)
response = await client.get(
self.workspace_managers_url.format(owner_id=tom.id),
dict(ordering="+email"),
)
assert response.status_code == http.HTTPStatus.UNAUTHORIZED

async def test_editor_can_NOT_view_organizers(
self,
client,
tom,
lucy,
applet_one_lucy_editor: AppletFull,
):
client.login(applet_one_lucy_editor)
response = await client.get(
self.workspace_managers_url.format(owner_id=tom.id),
dict(ordering="+email"),
)
assert response.status_code == http.HTTPStatus.UNAUTHORIZED

async def test_reviewer_can_NOT_view_organizers(
self,
client,
tom,
applet_one_lucy_reviewer: AppletFull,
):
client.login(applet_one_lucy_reviewer)
response = await client.get(
self.workspace_managers_url.format(owner_id=tom.id),
dict(ordering="+email"),
)
assert response.status_code == http.HTTPStatus.UNAUTHORIZED
Loading