mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-05-05 16:38:59 -04:00
Merge branch 'master' into cancel-invited-user
Conflicts: app/notify_client/invite_api_client.py tests/app/main/views/test_manage_users.py
This commit is contained in:
30
tests/app/main/views/test_accept_invite.py
Normal file
30
tests/app/main/views/test_accept_invite.py
Normal file
@@ -0,0 +1,30 @@
|
||||
from flask import url_for
|
||||
|
||||
from app.notify_client.models import InvitedUser
|
||||
from notifications_python_client.errors import HTTPError
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
def test_existing_user_accept_invite_calls_api_and_redirects_to_dashboard(app_,
|
||||
service_one,
|
||||
api_user_active,
|
||||
sample_invite,
|
||||
mock_accept_invite,
|
||||
mock_get_user_by_email,
|
||||
mock_add_user_to_service):
|
||||
|
||||
expected_service = service_one['id']
|
||||
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, api_user_active.id)
|
||||
|
||||
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,40 +70,40 @@ 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'
|
||||
|
||||
|
||||
def test_cancel_invited_user_cancels_user_invitations(app_, api_user_active, mock_login, mocker):
|
||||
|
||||
Reference in New Issue
Block a user