diff --git a/app/dao/invited_user_dao.py b/app/dao/invited_user_dao.py index 15233e908..09574d553 100644 --- a/app/dao/invited_user_dao.py +++ b/app/dao/invited_user_dao.py @@ -9,7 +9,7 @@ def save_invited_user(invited_user): def get_invited_user(service_id, invited_user_id): - return InvitedUser.query.filter_by(service_id=service_id, id=invited_user_id).one() + return InvitedUser.query.filter_by(service_id=service_id, id=invited_user_id).first() def get_invited_users_for_service(service_id): diff --git a/app/invite/rest.py b/app/invite/rest.py index be55ecae0..227853e5f 100644 --- a/app/invite/rest.py +++ b/app/invite/rest.py @@ -39,4 +39,8 @@ def get_invited_users_by_service(service_id): @invite.route('/', methods=['GET']) def get_invited_user_by_service_and_id(service_id, invited_user_id): invited_user = get_invited_user(service_id, invited_user_id) + if not invited_user: + message = 'Invited user not found for service id: {} and invited user id: {}'.format(service_id, + invited_user_id) + return jsonify(result='error', message=message), 404 return jsonify(data=invited_user_schema.dump(invited_user).data), 200 diff --git a/tests/app/dao/test_invited_user_dao.py b/tests/app/dao/test_invited_user_dao.py index c3bc4b8ce..843933cd5 100644 --- a/tests/app/dao/test_invited_user_dao.py +++ b/tests/app/dao/test_invited_user_dao.py @@ -1,6 +1,4 @@ import uuid -import pytest -from sqlalchemy.orm.exc import NoResultFound from app.models import InvitedUser @@ -35,10 +33,11 @@ def test_get_invited_user(notify_db, notify_db_session, sample_invited_user): assert from_db == sample_invited_user -def test_get_unknown_invited_user_throws_no_result_exception(notify_db, notify_db_session, sample_service): +def test_get_unknown_invited_user_returns_none(notify_db, notify_db_session, sample_service): unknown_id = uuid.uuid4() - with pytest.raises(NoResultFound): - get_invited_user(sample_service.id, unknown_id) + + unknown = get_invited_user(sample_service.id, unknown_id) + assert unknown is None def test_get_invited_users_for_service(notify_db, notify_db_session, sample_service):