mirror of
https://github.com/GSA/notifications-api.git
synced 2026-01-30 06:21:50 -05:00
- 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:
@@ -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
|
||||
@@ -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
|
||||
|
||||
18
tests/app/organisation/test_accept_organisation_invite.py
Normal file
18
tests/app/organisation/test_accept_organisation_invite.py
Normal 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()
|
||||
|
||||
@@ -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]'
|
||||
|
||||
Reference in New Issue
Block a user