Merge pull request #2958 from alphagov/invited-user-endpoints

Add endpoints to get invited users
This commit is contained in:
Katie Smith
2020-08-19 09:00:51 +01:00
committed by GitHub
4 changed files with 58 additions and 0 deletions

View File

@@ -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
@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'])
def update_invited_user(service_id, invited_user_id):
fetched = get_invited_user(service_id=service_id, invited_user_id=invited_user_id)

View File

@@ -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
@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'])
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)

View File

@@ -160,6 +160,29 @@ def test_get_invited_users_by_service_with_no_invites(client, notify_db, notify_
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):
data = {'status': 'cancelled'}
url = '/service/{0}/invite/{1}'.format(sample_invited_user.service_id, sample_invited_user.id)

View File

@@ -116,6 +116,29 @@ def test_get_invited_users_by_service_with_no_invites(admin_request, sample_orga
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):
data = {'status': 'cancelled'}