mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-25 08:44:23 -04:00
[WIP] Start of user accepting invite.
This commit only deals with acceptance by users who are already in system. Changed invite client to return invited user objects instead of dictionaries. Added commented out test. fixed up fixtures to return invited user object for invites
This commit is contained in:
25
tests/app/main/views/test_accept_invite.py
Normal file
25
tests/app/main/views/test_accept_invite.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from flask import url_for
|
||||
|
||||
|
||||
def test_existing_user_accept_invite_calls_api_and_redirects_to_dashboard(app_,
|
||||
service_one,
|
||||
sample_invite,
|
||||
mock_accept_invite,
|
||||
mock_get_user_by_email,
|
||||
mock_add_user_to_service):
|
||||
|
||||
expected_service = service_one['id']
|
||||
expected_from_user = service_one['users'][0]
|
||||
expected_redirect_location = 'http://localhost/services/{}/dashboard'.format(expected_service)
|
||||
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
|
||||
response = client.get(url_for('main.accept_invite', token='thisisnotarealtoken'))
|
||||
|
||||
mock_accept_invite.assert_called_with('thisisnotarealtoken')
|
||||
mock_get_user_by_email.assert_called_with('invited_user@test.gov.uk')
|
||||
mock_add_user_to_service.assert_called_with(expected_service, expected_from_user, sample_invite)
|
||||
|
||||
assert response.status_code == 302
|
||||
assert response.location == expected_redirect_location
|
||||
@@ -3,22 +3,22 @@ from flask import url_for
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
|
||||
# def test_should_show_overview_page(
|
||||
# app_,
|
||||
# api_user_active,
|
||||
# mock_login,
|
||||
# mock_get_service,
|
||||
# mock_get_users_by_service,
|
||||
# mock_get_invites_for_service
|
||||
# ):
|
||||
# with app_.test_request_context():
|
||||
# with app_.test_client() as client:
|
||||
# client.login(api_user_active)
|
||||
# response = client.get(url_for('main.manage_users', service_id=55555))
|
||||
#
|
||||
# assert 'Manage team' in response.get_data(as_text=True)
|
||||
# assert response.status_code == 200
|
||||
# mock_get_users_by_service.assert_called_once_with(service_id='55555')
|
||||
def test_should_show_overview_page(
|
||||
app_,
|
||||
api_user_active,
|
||||
mock_login,
|
||||
mock_get_service,
|
||||
mock_get_users_by_service,
|
||||
mock_get_invites_for_service
|
||||
):
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
client.login(api_user_active)
|
||||
response = client.get(url_for('main.manage_users', service_id=55555))
|
||||
|
||||
assert 'Manage team' in response.get_data(as_text=True)
|
||||
assert response.status_code == 200
|
||||
mock_get_users_by_service.assert_called_once_with(service_id='55555')
|
||||
|
||||
|
||||
def test_should_show_page_for_one_user(
|
||||
@@ -70,37 +70,37 @@ def test_should_show_page_for_inviting_user(
|
||||
assert 'Add a new team member' in response.get_data(as_text=True)
|
||||
assert response.status_code == 200
|
||||
|
||||
#
|
||||
# def test_invite_user(
|
||||
# app_,
|
||||
# service_one,
|
||||
# api_user_active,
|
||||
# mock_login,
|
||||
# mock_get_users_by_service,
|
||||
# mock_create_invite,
|
||||
# mock_get_invites_for_service
|
||||
# ):
|
||||
# from_user = api_user_active.id
|
||||
# service_id = service_one['id']
|
||||
# email_address = 'test@example.gov.uk'
|
||||
# permissions = 'send_messages,manage_service,manage_api_keys'
|
||||
#
|
||||
# with app_.test_request_context():
|
||||
# with app_.test_client() as client:
|
||||
# client.login(api_user_active)
|
||||
# response = client.post(
|
||||
# url_for('main.invite_user', service_id=service_id),
|
||||
# data={'email_address': email_address,
|
||||
# 'send_messages': 'yes',
|
||||
# 'manage_service': 'yes',
|
||||
# 'manage_api_keys': 'yes'},
|
||||
# follow_redirects=True
|
||||
# )
|
||||
#
|
||||
# assert response.status_code == 200
|
||||
# mock_create_invite.assert_called_with(from_user, service_id, email_address, permissions)
|
||||
# mock_get_invites_for_service.assert_called_with(service_id=service_id)
|
||||
# page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
# assert page.h1.string.strip() == 'Manage team'
|
||||
# flash_banner = page.find('div', class_='banner-default-with-tick').string.strip()
|
||||
# assert flash_banner == 'Invite sent to test@example.gov.uk'
|
||||
|
||||
def test_invite_user(
|
||||
app_,
|
||||
service_one,
|
||||
api_user_active,
|
||||
mock_login,
|
||||
mock_get_users_by_service,
|
||||
mock_create_invite,
|
||||
mock_get_invites_for_service
|
||||
):
|
||||
from_user = api_user_active.id
|
||||
service_id = service_one['id']
|
||||
email_address = 'test@example.gov.uk'
|
||||
permissions = 'send_messages,manage_service,manage_api_keys'
|
||||
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
client.login(api_user_active)
|
||||
response = client.post(
|
||||
url_for('main.invite_user', service_id=service_id),
|
||||
data={'email_address': email_address,
|
||||
'send_messages': 'yes',
|
||||
'manage_service': 'yes',
|
||||
'manage_api_keys': 'yes'},
|
||||
follow_redirects=True
|
||||
)
|
||||
|
||||
assert response.status_code == 200
|
||||
mock_create_invite.assert_called_with(from_user, service_id, email_address, permissions)
|
||||
mock_get_invites_for_service.assert_called_with(service_id=service_id)
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
assert page.h1.string.strip() == 'Manage team'
|
||||
flash_banner = page.find('div', class_='banner-default-with-tick').string.strip()
|
||||
assert flash_banner == 'Invite sent to test@example.gov.uk'
|
||||
|
||||
Reference in New Issue
Block a user