From 97d1bfaee8b6ff10ffadd95c456a002574d56357 Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Thu, 25 Feb 2021 08:10:52 +0000 Subject: [PATCH] Rename method for clarity Added unit test for new method. --- app/user/rest.py | 6 +++--- tests/app/user/test_rest.py | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/user/rest.py b/app/user/rest.py index 0f9c90ad3..6867e58b6 100644 --- a/app/user/rest.py +++ b/app/user/rest.py @@ -105,7 +105,7 @@ def update_user_attribute(user_id): elif 'mobile_number' in update_dct: template = dao_get_template_by_id(current_app.config['TEAM_MEMBER_EDIT_MOBILE_TEMPLATE_ID']) recipient = user_to_update.mobile_number - reply_to = set_reply_to(recipient, template) + reply_to = get_sms_reply_to_for_notify_service(recipient, template) else: return jsonify(data=user_to_update.serialize()), 200 service = Service.query.get(current_app.config['NOTIFY_SERVICE_ID']) @@ -130,7 +130,7 @@ def update_user_attribute(user_id): return jsonify(data=user_to_update.serialize()), 200 -def set_reply_to(recipient, template): +def get_sms_reply_to_for_notify_service(recipient, template): if not is_uk_phone_number(recipient) and use_numeric_sender(recipient): reply_to = current_app.config['NOTIFY_INTERNATIONAL_SMS_SENDER'] else: @@ -276,7 +276,7 @@ def create_2fa_code(template_id, user_to_send_to, secret_code, recipient, person create_user_code(user_to_send_to, secret_code, template.template_type) reply_to = None if template.template_type == SMS_TYPE: - reply_to = set_reply_to(recipient, template) + reply_to = get_sms_reply_to_for_notify_service(recipient, template) elif template.template_type == EMAIL_TYPE: reply_to = template.service.get_default_reply_to_email_address() saved_notification = persist_notification( diff --git a/tests/app/user/test_rest.py b/tests/app/user/test_rest.py index 7c17f9e83..07fa440c2 100644 --- a/tests/app/user/test_rest.py +++ b/tests/app/user/test_rest.py @@ -1086,3 +1086,20 @@ def test_search_for_users_by_email_handles_incorrect_data_format(notify_db, clie assert response.status_code == 400 assert json.loads(response.get_data(as_text=True))['message'] == {'email': ['Not a valid string.']} + + +@pytest.mark.parametrize('number, expected_reply_to', + [ + ("1-403-123-4567", "notify_international_sender"), + ("27 123 4569 2312", "notify_international_sender"), + ("30 123 4567 7890", "Notify"), + ("+20 123 4567 7890", "Notify"), + ]) +def test_get_sms_reply_to_for_notify_service(team_member_mobile_edit_template, number, expected_reply_to): + # need to import locally to avoid db session errors, + # if this import is with the other imports at the top of the file + # the imports happen in the wrong order and you'll see "dummy session" errors + from app.user.rest import get_sms_reply_to_for_notify_service + reply_to = get_sms_reply_to_for_notify_service(number, team_member_mobile_edit_template) + assert reply_to == current_app.config['NOTIFY_INTERNATIONAL_SMS_SENDER'] \ + if expected_reply_to == 'notify_international_sender' else current_app.config['FROM_NUMBER']