From 7da2ed453947e5b557ebb88c3eeb53475e885f71 Mon Sep 17 00:00:00 2001 From: Pea Tyczynska Date: Tue, 26 Feb 2019 16:28:05 +0000 Subject: [PATCH] Tell api when mobile or email updated by colleague So that API can send a confirmation email to the affected user --- app/main/views/manage_users.py | 4 ++-- app/notify_client/user_api_client.py | 2 +- tests/app/main/views/test_manage_users.py | 12 ++++++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/main/views/manage_users.py b/app/main/views/manage_users.py index dd976d3d0..feef22c2e 100644 --- a/app/main/views/manage_users.py +++ b/app/main/views/manage_users.py @@ -180,7 +180,7 @@ def confirm_edit_user_email(service_id, user_id): )) if request.method == 'POST': try: - user_api_client.update_user_attribute(str(user_id), email_address=new_email) + user_api_client.update_user_attribute(str(user_id), email_address=new_email, updated_by=current_user.id) except HTTPError as e: abort(500, e) finally: @@ -238,7 +238,7 @@ def confirm_edit_user_mobile_number(service_id, user_id): )) if request.method == 'POST': try: - user_api_client.update_user_attribute(str(user_id), mobile_number=new_number) + user_api_client.update_user_attribute(str(user_id), mobile_number=new_number, updated_by=current_user.id) except HTTPError as e: abort(500, e) finally: diff --git a/app/notify_client/user_api_client.py b/app/notify_client/user_api_client.py index 083335a09..3bb007bf2 100644 --- a/app/notify_client/user_api_client.py +++ b/app/notify_client/user_api_client.py @@ -14,6 +14,7 @@ ALLOWED_ATTRIBUTES = { 'email_address', 'mobile_number', 'auth_type', + 'updated_by' } @@ -70,7 +71,6 @@ class UserApiClient(NotifyAdminAPIClient): ", ".join(disallowed_attributes) )) - data = dict(**kwargs) url = "/user/{}".format(user_id) user_data = self.post(url, data=data) return User(user_data['data'], max_failed_login_count=self.max_failed_login_count) diff --git a/tests/app/main/views/test_manage_users.py b/tests/app/main/views/test_manage_users.py index d50910c62..8a04c3625 100644 --- a/tests/app/main/views/test_manage_users.py +++ b/tests/app/main/views/test_manage_users.py @@ -990,7 +990,11 @@ def test_confirm_edit_user_email_changes_user_email( assert response.status_code == 302 assert response.location == url_for( 'main.manage_users', service_id=service_one['id'], _external=True) - mock_update_user_attribute.assert_called_once_with(active_user_with_permissions.id, email_address=new_email) + mock_update_user_attribute.assert_called_once_with( + active_user_with_permissions.id, + email_address=new_email, + updated_by=mocker.ANY + ) def test_confirm_edit_user_email_doesnt_change_user_email_for_non_team_member( @@ -1163,7 +1167,11 @@ def test_confirm_edit_user_mobile_number_changes_user_mobile_number( assert response.status_code == 302 assert response.location == url_for( 'main.manage_users', service_id=service_one['id'], _external=True) - mock_update_user_attribute.assert_called_once_with(active_user_with_permissions.id, mobile_number=new_number) + mock_update_user_attribute.assert_called_once_with( + active_user_with_permissions.id, + mobile_number=new_number, + updated_by=mocker.ANY + ) def test_confirm_edit_user_mobile_number_doesnt_change_user_mobile_for_non_team_member(