Merge pull request #851 from GSA/notify-786

Remove notify from senders message flow
This commit is contained in:
Carlo Costino
2023-11-22 14:01:39 -05:00
committed by GitHub
4 changed files with 72 additions and 6 deletions
+21
View File
@@ -210,6 +210,8 @@ def set_sender(service_id, template_id):
sender_details = get_sender_details(service_id, template["template_type"]) sender_details = get_sender_details(service_id, template["template_type"])
sender_details = remove_notify_from_sender_options(sender_details)
if len(sender_details) == 1: if len(sender_details) == 1:
session["sender_id"] = sender_details[0]["id"] session["sender_id"] = sender_details[0]["id"]
@@ -262,6 +264,25 @@ def set_sender(service_id, template_id):
) )
def remove_notify_from_sender_options(sender_details):
# Remove US Notify/Notify.gov from users list of sender
# options during message send flow
sender_details = [
sender for sender in sender_details if verify_sender_options(sender)
]
return sender_details
def verify_sender_options(sender):
if sender.get("sms_sender") in ["Notify.gov", "US Notify"] and sender["is_default"]:
return True
if sender.get("sms_sender") not in ["Notify.gov", "US Notify"]:
return True
return False
def get_sender_context(sender_details, template_type): def get_sender_context(sender_details, template_type):
context = { context = {
"email": { "email": {
@@ -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 (default and receives replies) Change Example ID: 1234",
"Example 2 Change Example 2 ID: 5678", "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",
], ],
), ),
], ],
+29
View File
@@ -282,6 +282,35 @@ def test_set_sender_redirects_if_one_sms_sender(
assert session["sender_id"] == "1234" assert session["sender_id"] == "1234"
@pytest.mark.parametrize(
("sender_data"),
[
(create_multiple_sms_senders(isdefault1=True)),
],
)
def test_usnotify_and_notifygov_sms_sender_removal_not_default(sender_data, mocker):
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
@pytest.mark.parametrize(
("sender_data"),
[
(create_multiple_sms_senders(isdefault1=False, isdefault3=True)),
(create_multiple_sms_senders(isdefault1=False, isdefault4=True)),
],
)
def test_usnotify_and_notifygov_sms_sender_removal_if_default(sender_data, mocker):
from app.main.views.send import remove_notify_from_sender_options
sender_details = remove_notify_from_sender_options(sender_data)
assert len(sender_details) == 3
def test_that_test_files_exist(): def test_that_test_files_exist():
assert len(test_spreadsheet_files) == 8 assert len(test_spreadsheet_files) == 8
assert len(test_non_spreadsheet_files) == 6 assert len(test_non_spreadsheet_files) == 6
+20 -5
View File
@@ -3452,13 +3452,19 @@ def create_sms_sender(
} }
def create_multiple_sms_senders(service_id="abcd"): def create_multiple_sms_senders(
service_id="abcd",
isdefault1=True,
isdefault2=False,
isdefault3=False,
isdefault4=False,
):
return [ return [
{ {
"id": "1234", "id": "1234",
"service_id": service_id, "service_id": service_id,
"sms_sender": "Example", "sms_sender": "Example",
"is_default": True, "is_default": isdefault1,
"created_at": datetime.utcnow(), "created_at": datetime.utcnow(),
"inbound_number_id": "1234", "inbound_number_id": "1234",
"updated_at": None, "updated_at": None,
@@ -3467,7 +3473,7 @@ def create_multiple_sms_senders(service_id="abcd"):
"id": "5678", "id": "5678",
"service_id": service_id, "service_id": service_id,
"sms_sender": "Example 2", "sms_sender": "Example 2",
"is_default": False, "is_default": isdefault2,
"created_at": datetime.utcnow(), "created_at": datetime.utcnow(),
"inbound_number_id": None, "inbound_number_id": None,
"updated_at": None, "updated_at": None,
@@ -3475,8 +3481,17 @@ def create_multiple_sms_senders(service_id="abcd"):
{ {
"id": "9457", "id": "9457",
"service_id": service_id, "service_id": service_id,
"sms_sender": "Example 3", "sms_sender": "US Notify",
"is_default": False, "is_default": isdefault3,
"created_at": datetime.utcnow(),
"inbound_number_id": None,
"updated_at": None,
},
{
"id": "9897",
"service_id": service_id,
"sms_sender": "Notify.gov",
"is_default": isdefault4,
"created_at": datetime.utcnow(), "created_at": datetime.utcnow(),
"inbound_number_id": None, "inbound_number_id": None,
"updated_at": None, "updated_at": None,