mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-04 16:37:59 -04:00
register. On succesful register and verfication they will be added to service and forwarded to dashboard. Nothing is done yet with the permissions requested in the invite to the user.
292 lines
12 KiB
Python
292 lines
12 KiB
Python
import json
|
|
from flask import url_for
|
|
|
|
|
|
def test_should_show_overview_page(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
response = client.get(url_for('main.user_profile'))
|
|
|
|
assert 'Your profile' in response.get_data(as_text=True)
|
|
assert response.status_code == 200
|
|
|
|
|
|
def test_should_show_name_page(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
response = client.get(url_for('main.user_profile_name'))
|
|
|
|
assert 'Change your name' in response.get_data(as_text=True)
|
|
assert response.status_code == 200
|
|
|
|
|
|
def test_should_redirect_after_name_change(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_update_user,
|
|
mock_get_user):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
new_name = 'New Name'
|
|
data = {'new_name': new_name}
|
|
response = client.post(url_for(
|
|
'main.user_profile_name'), data=data)
|
|
|
|
assert response.status_code == 302
|
|
assert response.location == url_for(
|
|
'main.user_profile', _external=True)
|
|
api_user_active.name = new_name
|
|
assert mock_update_user.called
|
|
|
|
|
|
def test_should_show_email_page(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
response = client.get(url_for(
|
|
'main.user_profile_email'))
|
|
|
|
assert 'Change your email address' in response.get_data(as_text=True)
|
|
assert response.status_code == 200
|
|
|
|
|
|
def test_should_redirect_after_email_change(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user,
|
|
mock_get_user_by_email_not_found):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
data = {'email_address': 'new_notify@notify.gov.uk'}
|
|
response = client.post(
|
|
url_for('main.user_profile_email'),
|
|
data=data)
|
|
|
|
assert response.status_code == 302
|
|
assert response.location == url_for(
|
|
'main.user_profile_email_authenticate', _external=True)
|
|
|
|
|
|
def test_should_show_authenticate_after_email_change(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user,
|
|
mock_verify_password):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
with client.session_transaction() as session:
|
|
session['new-email'] = 'new_notify@notify.gov.uk'
|
|
response = client.get(url_for('main.user_profile_email_authenticate'))
|
|
|
|
assert 'Change your email address' in response.get_data(as_text=True)
|
|
assert 'Confirm' in response.get_data(as_text=True)
|
|
assert response.status_code == 200
|
|
|
|
|
|
def test_should_redirect_after_email_change_confirm(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
data = {'email-code': '12345'}
|
|
with client.session_transaction() as session:
|
|
session['new-email'] = 'new_notify@notify.gov.uk'
|
|
response = client.post(
|
|
url_for('main.user_profile_email_authenticate'),
|
|
data=data)
|
|
|
|
assert response.status_code == 302
|
|
assert response.location == url_for(
|
|
'main.user_profile_email_confirm', _external=True)
|
|
|
|
|
|
def test_should_show_confirm_after_email_change(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
with client.session_transaction() as session:
|
|
session['new-email-password-confirmed'] = True
|
|
response = client.get(url_for('main.user_profile_email_confirm'))
|
|
|
|
assert 'Change your email address' in response.get_data(as_text=True)
|
|
assert 'Confirm' in response.get_data(as_text=True)
|
|
assert response.status_code == 200
|
|
|
|
|
|
def test_should_redirect_after_email_change_confirm(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user,
|
|
mock_check_verify_code):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
with client.session_transaction() as session:
|
|
session['new-email-password-confirmed'] = True
|
|
session['new-email'] = 'new_notify@notify.gov.uk'
|
|
data = {'email_code': '12345'}
|
|
response = client.post(
|
|
url_for('main.user_profile_email_confirm'),
|
|
data=data)
|
|
|
|
assert response.status_code == 302
|
|
assert response.location == url_for(
|
|
'main.user_profile', _external=True)
|
|
|
|
|
|
def test_should_show_mobile_number_page(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
response = client.get(url_for('main.user_profile_mobile_number'))
|
|
|
|
assert 'Change your mobile number' in response.get_data(as_text=True)
|
|
assert response.status_code == 200
|
|
|
|
|
|
def test_should_redirect_after_mobile_number_change(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
data = {'mobile_number': '07121231234'}
|
|
response = client.post(
|
|
url_for('main.user_profile_mobile_number'),
|
|
data=data)
|
|
assert response.status_code == 302
|
|
assert response.location == url_for(
|
|
'main.user_profile_mobile_number_authenticate', _external=True)
|
|
|
|
|
|
def test_should_show_authenticate_after_mobile_number_change(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
with client.session_transaction() as session:
|
|
session['new-mob'] = '+441234123123'
|
|
response = client.get(
|
|
url_for('main.user_profile_mobile_number_authenticate'))
|
|
|
|
assert 'Change your mobile number' in response.get_data(as_text=True)
|
|
assert 'Confirm' in response.get_data(as_text=True)
|
|
assert response.status_code == 200
|
|
|
|
|
|
def test_should_redirect_after_mobile_number_authenticate(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user,
|
|
mock_verify_password,
|
|
mock_send_verify_code):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
with client.session_transaction() as session:
|
|
session['new-mob'] = '+441234123123'
|
|
data = {'password': '12345667'}
|
|
response = client.post(
|
|
url_for('main.user_profile_mobile_number_authenticate'),
|
|
data=data)
|
|
|
|
assert response.status_code == 302
|
|
assert response.location == url_for(
|
|
'main.user_profile_mobile_number_confirm', _external=True)
|
|
|
|
|
|
def test_should_show_confirm_after_mobile_number_change(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
with client.session_transaction() as session:
|
|
session['new-mob-password-confirmed'] = True
|
|
response = client.get(
|
|
url_for('main.user_profile_mobile_number_confirm'))
|
|
|
|
assert 'Change your mobile number' in response.get_data(as_text=True)
|
|
assert 'Confirm' in response.get_data(as_text=True)
|
|
assert response.status_code == 200
|
|
|
|
|
|
def test_should_redirect_after_mobile_number_confirm(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user,
|
|
mock_check_verify_code):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
with client.session_transaction() as session:
|
|
session['new-mob-password-confirmed'] = True
|
|
session['new-mob'] = '+441234123123'
|
|
data = {'sms_code': '12345'}
|
|
response = client.post(
|
|
url_for('main.user_profile_mobile_number_confirm'),
|
|
data=data)
|
|
assert response.status_code == 302
|
|
assert response.location == url_for(
|
|
'main.user_profile', _external=True)
|
|
|
|
|
|
def test_should_show_password_page(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
response = client.get(url_for('main.user_profile_password'))
|
|
|
|
assert 'Change your password' in response.get_data(as_text=True)
|
|
assert response.status_code == 200
|
|
|
|
|
|
def test_should_redirect_after_password_change(app_,
|
|
api_user_active,
|
|
mock_login,
|
|
mock_get_user,
|
|
mock_update_user,
|
|
mock_verify_password):
|
|
with app_.test_request_context():
|
|
with app_.test_client() as client:
|
|
client.login(api_user_active)
|
|
data = {
|
|
'new_password': '1234567890',
|
|
'old_password': '4567676328'}
|
|
response = client.post(
|
|
url_for('main.user_profile_password'),
|
|
data=data)
|
|
|
|
assert response.status_code == 302
|
|
assert response.location == url_for(
|
|
'main.user_profile', _external=True)
|