Tell api when mobile or email updated by colleague

So that API can send a confirmation email to the affected user
This commit is contained in:
Pea Tyczynska
2019-02-26 16:28:05 +00:00
parent d02061a9d8
commit 7da2ed4539
3 changed files with 13 additions and 5 deletions

View File

@@ -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:

View File

@@ -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)

View File

@@ -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(