diff --git a/app/main/views/send.py b/app/main/views/send.py index 95898f1ac..8ce91ed98 100644 --- a/app/main/views/send.py +++ b/app/main/views/send.py @@ -265,20 +265,19 @@ def set_sender(service_id, template_id): def remove_notify_from_sender_options(sender_details): - # Remove US Notify, soon to be (Notify.gov) from users list of sender - # options during message send flow if not default sender. - senders_to_remove = [] - for sender in sender_details: - sms_sender_value = sender.get("sms_sender") - if sms_sender_value: - if ( - sms_sender_value in ["Notify.gov", "US Notify"] - and not sender["is_default"] - ): - senders_to_remove.append(sender) - for sender in senders_to_remove: - if sender in sender_details: - sender_details.remove(sender) + # Remove US Notify/Notify.gov from users list of sender + # options during message send flow + sender_details = [ + sender + for sender in sender_details + if sender.get("sms_sender") in ["Notify.gov", "US Notify"] + and sender["is_default"] + or sender.get("sms_sender") not in ["Notify.gov", "US Notify"] + and not sender["is_default"] + or sender.get("sms_sender") not in ["Notify.gov", "US Notify"] + and sender["is_default"] + ] + return sender_details diff --git a/tests/app/main/views/service_settings/test_service_settings.py b/tests/app/main/views/service_settings/test_service_settings.py index 3ee19fad2..ab467a1f9 100644 --- a/tests/app/main/views/service_settings/test_service_settings.py +++ b/tests/app/main/views/service_settings/test_service_settings.py @@ -1870,7 +1870,8 @@ def test_api_ids_dont_show_on_option_pages_with_a_single_sender( [ "Example (default and receives replies) Change Example ID: 1234", "Example 2 Change Example 2 ID: 5678", - "Example 3 Change Example 3 ID: 9457", + "US Notify Change US Notify ID: 9457", + "Notify.gov Change Notify.gov ID: 9897", ], ), ], diff --git a/tests/app/main/views/test_send.py b/tests/app/main/views/test_send.py index f09015ce8..2767dcf2a 100644 --- a/tests/app/main/views/test_send.py +++ b/tests/app/main/views/test_send.py @@ -282,6 +282,20 @@ def test_set_sender_redirects_if_one_sms_sender( assert session["sender_id"] == "1234" +@pytest.mark.parametrize( + ("sender_data"), + [ + (create_multiple_sms_senders()), + ], +) +def test_usnotify_and_notifygov_removed_if_not_default_sender(sender_data): + from app.main.views.send import remove_notify_from_sender_options + + sender_details = remove_notify_from_sender_options(sender_data) + + assert len(sender_details) == 2 + + def test_that_test_files_exist(): assert len(test_spreadsheet_files) == 8 assert len(test_non_spreadsheet_files) == 6 diff --git a/tests/conftest.py b/tests/conftest.py index 3d34c1390..9691605b7 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -3475,7 +3475,16 @@ def create_multiple_sms_senders(service_id="abcd"): { "id": "9457", "service_id": service_id, - "sms_sender": "Example 3", + "sms_sender": "US Notify", + "is_default": False, + "created_at": datetime.utcnow(), + "inbound_number_id": None, + "updated_at": None, + }, + { + "id": "9897", + "service_id": service_id, + "sms_sender": "Notify.gov", "is_default": False, "created_at": datetime.utcnow(), "inbound_number_id": None,