Edit mobile number page

This commit is contained in:
Pea Tyczynska
2019-02-22 11:31:35 +00:00
parent 94c4151640
commit 9d57a81029
3 changed files with 46 additions and 18 deletions

View File

@@ -22,6 +22,7 @@ from app.main.forms import (
InviteUserForm,
PermissionsForm,
SearchUsersForm,
ChangeMobileNumberForm
)
from app.models.user import permissions
from app.utils import redact_mobile_number, user_has_permissions
@@ -203,11 +204,21 @@ def confirm_edit_user_email(service_id, user_id):
)
@main.route("/services/<service_id>/users/<user_id>/edit-phone-number", methods=['GET', 'POST'])
@main.route("/services/<service_id>/users/<user_id>/edit-mobile-number", methods=['GET', 'POST'])
@login_required
@user_has_permissions('manage_service')
def edit_user_phone_number(service_id, user_id):
return True
def edit_user_mobile_number(service_id, user_id):
user = user_api_client.get_user(user_id)
user_mobile_number = redact_mobile_number(user.mobile_number)
form = ChangeMobileNumberForm(mobile_number=user_mobile_number)
return render_template(
'views/manage-users/edit-user-mobile.html',
user=user,
form=form,
service_id=service_id
)
@main.route("/services/<service_id>/cancel-invited-user/<uuid:invited_user_id>", methods=['GET'])

View File

@@ -17,8 +17,8 @@
{{ user.email_address }}&emsp;<a href="{{ url_for('.edit_user_email', service_id=current_service.id, user_id=user.id)}}">Change</a>
</p>
{% if mobile_number %}
<p id="user_phone_number">
{{ mobile_number }}&emsp;<a href="{{ url_for('.edit_user_phone_number', service_id=current_service.id, user_id=user.id)}}">Change</a>
<p id="user_mobile_number">
{{ mobile_number }}&emsp;<a href="{{ url_for('.edit_user_mobile_number', service_id=current_service.id, user_id=user.id)}}">Change</a>
</p>
{% endif %}
<div class="grid-row">

View File

@@ -1011,7 +1011,7 @@ def test_confirm_edit_user_email_with_no_permission_aborts():
pass
def test_edit_user_permissions_page_displays_redacted_phone_number_and_change_link(
def test_edit_user_permissions_page_displays_redacted_mobile_number_and_change_link(
client_request,
active_user_with_permissions,
service_one,
@@ -1027,29 +1027,46 @@ def test_edit_user_permissions_page_displays_redacted_phone_number_and_change_li
)
assert user.name in page.find('h1').text
phone_number_paragraph = page.select('p[id=user_phone_number]')[0]
assert '0770****762' in phone_number_paragraph.text
change_link = phone_number_paragraph.findChild()
assert change_link.attrs['href'] == '/services/{}/users/{}/edit-phone-number'.format(
mobile_number_paragraph = page.select('p[id=user_mobile_number]')[0]
assert '0770****762' in mobile_number_paragraph.text
change_link = mobile_number_paragraph.findChild()
assert change_link.attrs['href'] == '/services/{}/users/{}/edit-mobile-number'.format(
service_one['id'], user.id
)
def test_edit_user_phone_number_page():
def test_edit_user_mobile_number_page(
client_request,
active_user_with_permissions,
service_one,
mocker
):
user = active_user_with_permissions
mocker.patch('app.user_api_client.get_user', return_value=user)
page = client_request.get(
'main.edit_user_mobile_number',
service_id=service_one['id'],
user_id=user.id
)
assert page.find('h1').text == "Change team members mobile number"
assert page.select('p[id=user_name]')[0].text == "This will change the mobile number for {}.".format(user.name)
assert page.select('input[name=mobile_number]')[0].attrs["value"] == "0770****762"
assert page.select('button[type=submit]')[0].text == "Save"
def test_edit_user_mobile_number_redirects_to_confirmation():
pass
def test_edit_user_phone_number_redirects_to_confirmation():
def test_confirm_edit_user_mobile_number_page():
pass
def test_confirm_edit_user_phone_number_page():
def test_confirm_edit_user_mobile_number_changes_user_mobile_number():
pass
def test_confirm_edit_user_phone_number_changes_user_mobile_number():
pass
def test_confirm_edit_user_phone_number_with_no_permission_aborts():
def test_confirm_edit_user_mobile_number_with_no_permission_aborts():
pass