diff --git a/app/main/views/send.py b/app/main/views/send.py index f375c1645..5bd1ffc37 100644 --- a/app/main/views/send.py +++ b/app/main/views/send.py @@ -553,7 +553,8 @@ def _check_messages(service_id, template_type, upload_id, preview_row, letters_a template.template_type == 'letter', not request.args.get('from_test'), )), - required_recipient_columns=OrderedSet(recipients.recipient_column_headers) - optional_address_columns + required_recipient_columns=OrderedSet(recipients.recipient_column_headers) - optional_address_columns, + preview_row=preview_row, ) diff --git a/app/templates/views/check/ok.html b/app/templates/views/check/ok.html index 851034e36..5724b3beb 100644 --- a/app/templates/views/check/ok.html +++ b/app/templates/views/check/ok.html @@ -60,7 +60,11 @@ ) %} {% call index_field() %} - {{ item.index + 2 }} + {% if item.index == preview_row %} + {{ item.index + 2 }} + {% else %} + {{ item.index + 2 }} + {% endif %} {% endcall %} {% for column in recipients.column_headers %} diff --git a/tests/app/main/views/test_send.py b/tests/app/main/views/test_send.py index e6a2ce782..70fa17051 100644 --- a/tests/app/main/views/test_send.py +++ b/tests/app/main/views/test_send.py @@ -464,19 +464,22 @@ def test_upload_valid_csv_redirects_to_check_page( ) -@pytest.mark.parametrize('extra_args, expected_recipient, expected_message', [ +@pytest.mark.parametrize('extra_args, expected_link_in_first_row, expected_recipient, expected_message', [ ( {}, + None, 'To: 07700900001', 'Test Service: A, Template content with & entity', ), ( {'row_index': 0}, + None, 'To: 07700900001', 'Test Service: A, Template content with & entity', ), ( {'row_index': 2}, + True, 'To: 07700900003', 'Test Service: C, Template content with & entity', ), @@ -490,6 +493,7 @@ def test_upload_valid_csv_shows_preview_and_table( mock_get_detailed_service_for_today, fake_uuid, extra_args, + expected_link_in_first_row, expected_recipient, expected_message, ): @@ -516,8 +520,16 @@ def test_upload_valid_csv_shows_preview_and_table( assert page.select_one('.sms-message-recipient').text.strip() == expected_recipient assert page.select_one('.sms-message-wrapper').text.strip() == expected_message + assert page.select_one('.table-field-index').text.strip() == '2' + + if expected_link_in_first_row: + assert page.select_one('.table-field-index a')['href'] == url_for( + 'main.check_messages', service_id=SERVICE_ONE_ID, template_type='sms', upload_id=fake_uuid, row_index=0 + ) + else: + assert not page.select_one('.table-field-index').select_one('a') + for index, cell in enumerate([ - '