[WIP] added dao and rest endpoint for retrieving invited users

by service and by id.
This commit is contained in:
Adam Shimali
2016-02-25 11:22:36 +00:00
parent 064fec5ad5
commit 883ad02c25
5 changed files with 207 additions and 7 deletions

View File

@@ -1,7 +1,14 @@
import uuid
import pytest
from sqlalchemy.orm.exc import NoResultFound
from app.models import InvitedUser
from app.dao.invited_user_dao import save_invited_user
from app.dao.invited_user_dao import (
save_invited_user,
get_invited_user,
get_invited_users_for_service
)
def test_create_invited_user(notify_db, notify_db_session, sample_service):
@@ -21,3 +28,39 @@ def test_create_invited_user(notify_db, notify_db_session, sample_service):
assert InvitedUser.query.count() == 1
assert invited_user.email_address == email_address
assert invited_user.from_user == invite_from
def test_get_invited_user(notify_db, notify_db_session, sample_invited_user):
from_db = get_invited_user(sample_invited_user.service.id, sample_invited_user.id)
assert from_db == sample_invited_user
def test_get_unknown_invited_user_throws_no_result_exception(notify_db, notify_db_session, sample_service):
unknown_id = uuid.uuid4()
with pytest.raises(NoResultFound):
get_invited_user(sample_service.id, unknown_id)
def test_get_invited_users_for_service(notify_db, notify_db_session, sample_service):
from tests.app.conftest import sample_invited_user
invites = []
for i in range(0, 5):
email = 'invited_user_{}@service.gov.uk'.format(i)
invited_user = sample_invited_user(notify_db,
notify_db_session,
sample_service,
email)
invites.append(invited_user)
all_from_db = get_invited_users_for_service(sample_service.id)
assert len(all_from_db) == 5
for invite in invites:
assert invite in all_from_db
def test_get_invited_users_for_service_that_has_no_invites(notify_db, notify_db_session, sample_service):
invites = get_invited_users_for_service(sample_service.id)
assert len(invites) == 0