Skip to content

Commit

Permalink
Add some tests for /me/invites
Browse files Browse the repository at this point in the history
  • Loading branch information
MelissaAutumn committed Sep 13, 2024
1 parent 83c6687 commit 00029df
Showing 1 changed file with 54 additions and 1 deletion.
55 changes: 54 additions & 1 deletion backend/test/integration/test_invite.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import os
from defines import auth_headers
from defines import auth_headers, TEST_USER_ID
from appointment.database import repo


Expand Down Expand Up @@ -49,3 +49,56 @@ def test_send_invite_email(self, with_db, with_client):
with with_db() as db:
subscriber = repo.subscriber.get_by_email(db, invite_email)
assert subscriber is not None


class TestPublicInvites:
def test_empty(self, with_client):
response = with_client.get(
'/me/invites',
headers=auth_headers,
)
assert response.status_code == 200, response.text
data = response.json()
assert data == []

def test_invites_show(self, with_client, make_invite):
invites = [make_invite(owner_id=TEST_USER_ID) for _ in range(2)]

response = with_client.get(
'/me/invites',
headers=auth_headers,
)
assert response.status_code == 200, response.text
data = response.json()
assert len(data) == len(invites)
assert data[0]['code'] == invites[0].code
assert data[1]['code'] == invites[1].code

def test_used_invites_dont_show(self, with_client, make_invite, make_basic_subscriber):
invite = make_invite(owner_id=TEST_USER_ID)

other_guy = make_basic_subscriber()
other_invite = make_invite(owner_id=TEST_USER_ID, subscriber_id=other_guy.id)

response = with_client.get(
'/me/invites',
headers=auth_headers,
)
assert response.status_code == 200, response.text
data = response.json()
assert len(data) == 1
assert data[0]['code'] != other_invite.code
assert data[0]['code'] == invite.code

def test_only_code_and_status_are_shown(self, with_client, make_invite):
invite = make_invite(owner_id=TEST_USER_ID)

response = with_client.get(
'/me/invites',
headers=auth_headers,
)
assert response.status_code == 200, response.text
data = response.json()
assert len(data) == 1
assert data[0]['code'] == invite.code
assert list(data[0].keys()) == ['code', 'status']

0 comments on commit 00029df

Please sign in to comment.