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 = remove_notify_from_sender_options(sender_details)
if len(sender_details) == 1:
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):
context = {
"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 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"
@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():
assert len(test_spreadsheet_files) == 8
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 [
{
"id": "1234",
"service_id": service_id,
"sms_sender": "Example",
"is_default": True,
"is_default": isdefault1,
"created_at": datetime.utcnow(),
"inbound_number_id": "1234",
"updated_at": None,
@@ -3467,7 +3473,7 @@ def create_multiple_sms_senders(service_id="abcd"):
"id": "5678",
"service_id": service_id,
"sms_sender": "Example 2",
"is_default": False,
"is_default": isdefault2,
"created_at": datetime.utcnow(),
"inbound_number_id": None,
"updated_at": None,
@@ -3475,8 +3481,17 @@ def create_multiple_sms_senders(service_id="abcd"):
{
"id": "9457",
"service_id": service_id,
"sms_sender": "Example 3",
"is_default": False,
"sms_sender": "US Notify",
"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(),
"inbound_number_id": None,
"updated_at": None,