diff --git a/app/templates/views/uploads/contact-list/upload.html b/app/templates/views/uploads/contact-list/upload.html index 39e6bac5e..4cf7064f2 100644 --- a/app/templates/views/uploads/contact-list/upload.html +++ b/app/templates/views/uploads/contact-list/upload.html @@ -40,8 +40,7 @@ {{ file_upload( form.file, allowed_file_extensions=allowed_file_extensions, - button_text='Upload your file again' if error else 'Choose file', - show_errors=False + button_text='Choose file', )}} diff --git a/tests/app/main/views/uploads/test_upload_contact_list.py b/tests/app/main/views/uploads/test_upload_contact_list.py index 40a0ee6bb..a105ff7bf 100644 --- a/tests/app/main/views/uploads/test_upload_contact_list.py +++ b/tests/app/main/views/uploads/test_upload_contact_list.py @@ -276,6 +276,22 @@ def test_upload_csv_file_shows_error_banner_for_too_many_rows( ) +def test_upload_csv_shows_error_with_invalid_extension( + client_request, +): + + page = client_request.post( + 'main.upload_contact_list', + service_id=SERVICE_ONE_ID, + _data={'file': (BytesIO(''.encode('utf-8')), 'invalid.txt')}, + _follow_redirects=True, + ) + + assert normalize_spaces(page.select_one('.file-upload-label .error-message').text) == ( + "invalid.txt is not a spreadsheet that Notify can read" + ) + + def test_upload_csv_file_sanitises_and_truncates_file_name_in_metadata( client_request, mocker,