diff --git a/app/main/views/send.py b/app/main/views/send.py index 2fdb5d620..f656c20e4 100644 --- a/app/main/views/send.py +++ b/app/main/views/send.py @@ -139,10 +139,17 @@ def send_message_to_self(service_id, template_id): [first_column_heading[template.template_type]] + list(template.placeholders) ) - writer.writerow( - [current_user.mobile_number] + - ["test {}".format(header) for header in template.placeholders] - ) + if template.template_type == 'sms': + writer.writerow( + [current_user.mobile_number] + + ["test {}".format(header) for header in template.placeholders] + ) + if template.template_type == 'email': + writer.writerow( + [current_user.email_address] + + ["test {}".format(header) for header in template.placeholders] + ) + filedata = { 'file_name': 'Test run', 'data': output.getvalue().splitlines() diff --git a/app/templates/views/check.html b/app/templates/views/check.html index d60bef88f..983f13175 100644 --- a/app/templates/views/check.html +++ b/app/templates/views/check.html @@ -49,7 +49,7 @@ {% if upload_result.valid %}
{% else %} diff --git a/tests/app/main/views/test_send.py b/tests/app/main/views/test_send.py index 7371318d4..600b8c6b0 100644 --- a/tests/app/main/views/test_send.py +++ b/tests/app/main/views/test_send.py @@ -144,6 +144,30 @@ def test_send_test_message_to_self( mock_s3_upload.assert_called_with(ANY, '12345', expected_data, 'eu-west-1') +def test_send_test_message_to_self( + app_, + mocker, + api_user_active, + mock_login, + mock_get_service, + mock_get_service_email_template, + mock_s3_upload +): + + expected_data = {'data': ['email address', 'test@user.gov.uk'], 'file_name': 'Test run'} + mocker.patch('app.main.views.send.s3download', return_value='email address\r\ntest@user.gov.uk') + + with app_.test_request_context(): + with app_.test_client() as client: + client.login(api_user_active) + response = client.get( + url_for('main.send_message_to_self', service_id=12345, template_id=54321), + follow_redirects=True + ) + assert response.status_code == 200 + mock_s3_upload.assert_called_with(ANY, '12345', expected_data, 'eu-west-1') + + def test_download_example_csv( app_, mocker, diff --git a/tests/conftest.py b/tests/conftest.py index acd163be9..7870d9169 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -141,6 +141,17 @@ def mock_get_service_template(mocker): 'app.notifications_api_client.get_service_template', side_effect=_create) +@pytest.fixture(scope='function') +def mock_get_service_email_template(mocker): + def _create(service_id, template_id): + template = template_json( + template_id, "Two week reminder", "email", "Your vehicle tax is about to expire", service_id) + return {'data': template} + + return mocker.patch( + 'app.notifications_api_client.get_service_template', side_effect=_create) + + @pytest.fixture(scope='function') def mock_create_service_template(mocker): def _create(name, type_, content, service):