mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-03 01:41:05 -05:00
Add endpoints to get invited users
We want to display flash messages in admin when invites have been cancelled. This message needs to display the user's email address, so this commit adds endpoints to GET a single invited service user and org user so that we can look up the email address of a cancelled user.
This commit is contained in:
@@ -60,6 +60,12 @@ def get_invited_users_by_service(service_id):
|
|||||||
return jsonify(data=invited_user_schema.dump(invited_users, many=True).data), 200
|
return jsonify(data=invited_user_schema.dump(invited_users, many=True).data), 200
|
||||||
|
|
||||||
|
|
||||||
|
@invite.route('/<invited_user_id>', methods=['GET'])
|
||||||
|
def get_invited_user_by_service(service_id, invited_user_id):
|
||||||
|
invited_user = get_invited_user(service_id, invited_user_id)
|
||||||
|
return jsonify(data=invited_user_schema.dump(invited_user).data), 200
|
||||||
|
|
||||||
|
|
||||||
@invite.route('/<invited_user_id>', methods=['POST'])
|
@invite.route('/<invited_user_id>', methods=['POST'])
|
||||||
def update_invited_user(service_id, invited_user_id):
|
def update_invited_user(service_id, invited_user_id):
|
||||||
fetched = get_invited_user(service_id=service_id, invited_user_id=invited_user_id)
|
fetched = get_invited_user(service_id=service_id, invited_user_id=invited_user_id)
|
||||||
|
|||||||
@@ -76,6 +76,12 @@ def get_invited_org_users_by_organisation(organisation_id):
|
|||||||
return jsonify(data=[x.serialize() for x in invited_org_users]), 200
|
return jsonify(data=[x.serialize() for x in invited_org_users]), 200
|
||||||
|
|
||||||
|
|
||||||
|
@organisation_invite_blueprint.route('/<invited_org_user_id>', methods=['GET'])
|
||||||
|
def get_invited_org_user_by_organisation(organisation_id, invited_org_user_id):
|
||||||
|
invited_org_user = get_invited_org_user(organisation_id, invited_org_user_id)
|
||||||
|
return jsonify(data=invited_org_user.serialize()), 200
|
||||||
|
|
||||||
|
|
||||||
@organisation_invite_blueprint.route('/<invited_org_user_id>', methods=['POST'])
|
@organisation_invite_blueprint.route('/<invited_org_user_id>', methods=['POST'])
|
||||||
def update_org_invite_status(organisation_id, invited_org_user_id):
|
def update_org_invite_status(organisation_id, invited_org_user_id):
|
||||||
fetched = get_invited_org_user(organisation_id=organisation_id, invited_org_user_id=invited_org_user_id)
|
fetched = get_invited_org_user(organisation_id=organisation_id, invited_org_user_id=invited_org_user_id)
|
||||||
|
|||||||
@@ -160,6 +160,29 @@ def test_get_invited_users_by_service_with_no_invites(client, notify_db, notify_
|
|||||||
assert len(json_resp['data']) == 0
|
assert len(json_resp['data']) == 0
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_invited_user_by_service(admin_request, sample_invited_user):
|
||||||
|
json_resp = admin_request.get(
|
||||||
|
'invite.get_invited_user_by_service',
|
||||||
|
service_id=sample_invited_user.service.id,
|
||||||
|
invited_user_id=sample_invited_user.id
|
||||||
|
)
|
||||||
|
assert json_resp['data']['email_address'] == sample_invited_user.email_address
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_invited_user_by_service_when_user_does_not_belong_to_the_service(
|
||||||
|
admin_request,
|
||||||
|
sample_invited_user,
|
||||||
|
fake_uuid,
|
||||||
|
):
|
||||||
|
json_resp = admin_request.get(
|
||||||
|
'invite.get_invited_user_by_service',
|
||||||
|
service_id=fake_uuid,
|
||||||
|
invited_user_id=sample_invited_user.id,
|
||||||
|
_expected_status=404
|
||||||
|
)
|
||||||
|
assert json_resp['result'] == 'error'
|
||||||
|
|
||||||
|
|
||||||
def test_update_invited_user_set_status_to_cancelled(client, sample_invited_user):
|
def test_update_invited_user_set_status_to_cancelled(client, sample_invited_user):
|
||||||
data = {'status': 'cancelled'}
|
data = {'status': 'cancelled'}
|
||||||
url = '/service/{0}/invite/{1}'.format(sample_invited_user.service_id, sample_invited_user.id)
|
url = '/service/{0}/invite/{1}'.format(sample_invited_user.service_id, sample_invited_user.id)
|
||||||
|
|||||||
@@ -116,6 +116,29 @@ def test_get_invited_users_by_service_with_no_invites(admin_request, sample_orga
|
|||||||
assert len(json_resp['data']) == 0
|
assert len(json_resp['data']) == 0
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_invited_user_by_organisation(admin_request, sample_invited_org_user):
|
||||||
|
json_resp = admin_request.get(
|
||||||
|
'organisation_invite.get_invited_org_user_by_organisation',
|
||||||
|
organisation_id=sample_invited_org_user.organisation.id,
|
||||||
|
invited_org_user_id=sample_invited_org_user.id
|
||||||
|
)
|
||||||
|
assert json_resp['data']['email_address'] == sample_invited_org_user.email_address
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_invited_user_by_organisation_when_user_does_not_belong_to_the_org(
|
||||||
|
admin_request,
|
||||||
|
sample_invited_org_user,
|
||||||
|
fake_uuid,
|
||||||
|
):
|
||||||
|
json_resp = admin_request.get(
|
||||||
|
'organisation_invite.get_invited_org_user_by_organisation',
|
||||||
|
organisation_id=fake_uuid,
|
||||||
|
invited_org_user_id=sample_invited_org_user.id,
|
||||||
|
_expected_status=404
|
||||||
|
)
|
||||||
|
assert json_resp['result'] == 'error'
|
||||||
|
|
||||||
|
|
||||||
def test_update_org_invited_user_set_status_to_cancelled(admin_request, sample_invited_org_user):
|
def test_update_org_invited_user_set_status_to_cancelled(admin_request, sample_invited_org_user):
|
||||||
data = {'status': 'cancelled'}
|
data = {'status': 'cancelled'}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user