From 486393962e2dda1cb3147409414c98687c87d207 Mon Sep 17 00:00:00 2001 From: Ben Thorner Date: Mon, 8 Feb 2021 17:23:47 +0000 Subject: [PATCH] Show 'From' / 'Reply to' on all sending screens This makes the preview of the email / SMS to send consistent with the final screen, which we previously changed to show the "reply to" text irrespective of whether the user had selected anything. --- app/main/views/send.py | 4 +++ tests/app/main/views/test_send.py | 46 +++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/app/main/views/send.py b/app/main/views/send.py index 20d1deddc..04356069e 100644 --- a/app/main/views/send.py +++ b/app/main/views/send.py @@ -218,6 +218,10 @@ def set_sender(service_id, template_id): return redirect_to_one_off sender_details = get_sender_details(service_id, template['template_type']) + + if len(sender_details) == 1: + session['sender_id'] = sender_details[0]['id'] + if len(sender_details) <= 1: return redirect_to_one_off diff --git a/tests/app/main/views/test_send.py b/tests/app/main/views/test_send.py index 35ca10131..0b6f3bc0c 100644 --- a/tests/app/main/views/test_send.py +++ b/tests/app/main/views/test_send.py @@ -254,6 +254,52 @@ def test_set_sender_redirects_if_no_sms_senders( ) +def test_set_sender_redirects_if_one_email_sender( + client_request, + fake_uuid, + mock_get_service_email_template, + single_reply_to_email_address, +): + client_request.get( + '.set_sender', + service_id=SERVICE_ONE_ID, + template_id=fake_uuid, + _expected_status=302, + _expected_url=url_for( + '.send_one_off', + service_id=SERVICE_ONE_ID, + template_id=fake_uuid, + _external=True, + ) + ) + + with client_request.session_transaction() as session: + assert session['sender_id'] == '1234' + + +def test_set_sender_redirects_if_one_sms_sender( + client_request, + fake_uuid, + mock_get_service_template, + single_sms_sender, +): + client_request.get( + '.set_sender', + service_id=SERVICE_ONE_ID, + template_id=fake_uuid, + _expected_status=302, + _expected_url=url_for( + '.send_one_off', + service_id=SERVICE_ONE_ID, + template_id=fake_uuid, + _external=True, + ) + ) + + with client_request.session_transaction() as session: + assert session['sender_id'] == '1234' + + def test_that_test_files_exist(): assert len(test_spreadsheet_files) == 8 assert len(test_non_spreadsheet_files) == 6