Files
notifications-admin/tests/app/main/views/test_user_profile.py

296 lines
13 KiB
Python
Raw Normal View History

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,
# mock_is_email_unique):
# 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,
mock_verify_password,
mock_send_verify_code,
mock_is_email_unique):
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,
2016-01-27 18:01:43 +00:00
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)