- new endpoint to check the token for an org invitation.

- new endpoint to add user to organisation
- new endpoint to return users for an organisation
This commit is contained in:
Rebecca Law
2018-02-20 17:09:16 +00:00
parent 57a174aeb4
commit 13ef2d7bae
11 changed files with 125 additions and 17 deletions

View File

@@ -8,6 +8,7 @@ from app.dao.organisation_dao import (
dao_get_organisation_services,
dao_update_organisation,
dao_add_service_to_organisation,
dao_get_invited_organisation_user
)
from app.models import Organisation
@@ -104,3 +105,12 @@ def test_get_organisation_by_service_id(notify_db, notify_db_session, sample_ser
assert organisation_1 == sample_organisation
assert organisation_2 == another_org
def test_dao_get_invited_organisation_user(sample_invited_org_user):
invited_org_user = dao_get_invited_organisation_user(sample_invited_org_user.id)
assert invited_org_user == sample_invited_org_user
def test_dao_get_users_for_organisation(sample_organisation, sample_user):
dao

View File

@@ -1,6 +1,5 @@
import json
import pytest
import uuid
from app.models import Notification, SMS_AUTH_TYPE, EMAIL_AUTH_TYPE
from tests import create_authorization_header

View File

@@ -0,0 +1,18 @@
import json
from flask import current_app
from notifications_utils.url_safe_token import generate_token
from tests import create_authorization_header
def test_accept_organisation_invitation(client, sample_invited_org_user):
token = generate_token(str(sample_invited_org_user.id), current_app.config['SECRET_KEY'],
current_app.config['DANGEROUS_SALT'])
url = '/organisation-invitation/{}'.format(token)
auth_header = create_authorization_header()
response = client.get(url, headers=[('Content-Type', 'application/json'), auth_header])
assert response.status_code == 200
json_resp = json.loads(response.get_data(as_text=True))
assert json_resp['data'] == sample_invited_org_user.serialize()

View File

@@ -109,11 +109,11 @@ def test_get_invited_users_by_service_with_no_invites(admin_request, sample_orga
assert len(json_resp['data']) == 0
def test_update_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'}
json_resp = admin_request.post(
'organisation_invite.update_invite_status',
'organisation_invite.update_org_invite_status',
organisation_id=sample_invited_org_user.organisation_id,
invited_org_user_id=sample_invited_org_user.id,
_data=data
@@ -121,11 +121,11 @@ def test_update_invited_user_set_status_to_cancelled(admin_request, sample_invit
assert json_resp['data']['status'] == 'cancelled'
def test_update_invited_user_for_wrong_service_returns_404(admin_request, sample_invited_org_user, fake_uuid):
def test_update_org_invited_user_for_wrong_service_returns_404(admin_request, sample_invited_org_user, fake_uuid):
data = {'status': 'cancelled'}
json_resp = admin_request.post(
'organisation_invite.update_invite_status',
'organisation_invite.update_org_invite_status',
organisation_id=fake_uuid,
invited_org_user_id=sample_invited_org_user.id,
_data=data,
@@ -134,14 +134,15 @@ def test_update_invited_user_for_wrong_service_returns_404(admin_request, sample
assert json_resp['message'] == 'No result found'
def test_update_invited_user_for_invalid_data_returns_400(admin_request, sample_invited_org_user):
def test_update_org_invited_user_for_invalid_data_returns_400(admin_request, sample_invited_org_user):
data = {'status': 'garbage'}
json_resp = admin_request.post(
'organisation_invite.update_invite_status',
'organisation_invite.update_org_invite_status',
organisation_id=sample_invited_org_user.organisation_id,
invited_org_user_id=sample_invited_org_user.id,
_data=data,
_expected_status=404
_expected_status=400
)
assert json_resp['message'] == 'No result found'
assert len(json_resp['errors']) == 1
assert json_resp['errors'][0]['message'] == 'status garbage is not one of [pending, accepted, cancelled]'