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
6 changes: 4 additions & 2 deletions services/event_signup_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,10 @@ def update_event_signup(event: Event_DB, data: EventSignupUpdate, user_id: int,
if signup is None:
raise HTTPException(status.HTTP_404_NOT_FOUND)

if manage_permission == False and not is_group_allowed(
event, db.query(User_DB).filter(User_DB.id == user_id).one(), data.group_name
if (
manage_permission == False
and data.group_name is not None
and not is_group_allowed(event, db.query(User_DB).filter(User_DB.id == user_id).one(), data.group_name)
):
raise HTTPException(status.HTTP_403_FORBIDDEN, detail="User cannot sign up with this group")

Expand Down
15 changes: 13 additions & 2 deletions tests/test_event_signup.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,25 @@ def test_signup_with_group_the_user_is_not_in(client, member_token, membered_use
assert response.status_code == 403


def test_signup_without_group(client, member_token, membered_user, nollning_event, mission_group):
"""Signing up without picking a group is not restricted by the group types."""
def test_nollning_event_signup_without_group(client, member_token, membered_user, nollning_event, mission_group):
"""Signing up to nollning event without picking a group is not allowed."""
response = client.post(
f"/event-signup/{nollning_event['id']}",
json={"user_id": membered_user.id},
headers=auth_headers(member_token),
)

assert response.status_code == 403, response.text


def test_non_nollning_event_signup_without_group(client, member_token, membered_user, event, mission_group):
"""Signing up to non-nollning event without picking a group is not restricted by the group types."""
response = client.post(
f"/event-signup/{event['id']}",
json={"user_id": membered_user.id},
headers=auth_headers(member_token),
)

assert response.status_code in (200, 201), response.text
assert response.json()["group_name"] is None

Expand Down
Loading