diff --git a/app/main/views/manage_users.py b/app/main/views/manage_users.py index c0b85ab99..9cdba07fd 100644 --- a/app/main/views/manage_users.py +++ b/app/main/views/manage_users.py @@ -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//users//edit-phone-number", methods=['GET', 'POST']) +@main.route("/services//users//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//cancel-invited-user/", methods=['GET']) diff --git a/app/templates/views/edit-user-permissions.html b/app/templates/views/edit-user-permissions.html index 84b92ba27..17a4ef88f 100644 --- a/app/templates/views/edit-user-permissions.html +++ b/app/templates/views/edit-user-permissions.html @@ -17,8 +17,8 @@ {{ user.email_address }} Change

{% if mobile_number %} -

- {{ mobile_number }} Change +

+ {{ mobile_number }} Change

{% endif %}
diff --git a/tests/app/main/views/test_manage_users.py b/tests/app/main/views/test_manage_users.py index a1244dae9..b41bb76f3 100644 --- a/tests/app/main/views/test_manage_users.py +++ b/tests/app/main/views/test_manage_users.py @@ -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 member’s 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