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