From fb1ac8bc426f21f0f68938a743b21b0b587f4b35 Mon Sep 17 00:00:00 2001 From: Tom Byers Date: Wed, 16 Dec 2020 11:21:54 +0000 Subject: [PATCH] Set accepted files for letter upload --- app/main/views/uploads.py | 2 ++ app/templates/views/uploads/choose-file.html | 1 + app/templates/views/uploads/preview.html | 1 + tests/app/main/views/uploads/test_upload_letter.py | 3 +++ 4 files changed, 7 insertions(+) diff --git a/app/main/views/uploads.py b/app/main/views/uploads.py index 0f5db2448..9c77bb2ac 100644 --- a/app/main/views/uploads.py +++ b/app/main/views/uploads.py @@ -292,6 +292,7 @@ def uploaded_letter_preview(service_id, file_id): form = LetterUploadPostageForm( postage_zone=postal_address.postage ) + allowed_spreadsheet_file_extensions = ','.join([f'.{ext}' for ext in Spreadsheet.ALLOWED_FILE_EXTENSIONS]) template = get_template( template_dict, @@ -313,6 +314,7 @@ def uploaded_letter_preview(service_id, file_id): message=error_message, error_code=error_shortcode, form=form, + allowed_spreadsheet_file_extensions=allowed_spreadsheet_file_extensions, postal_address=postal_address, re_upload_form=re_upload_form ) diff --git a/app/templates/views/uploads/choose-file.html b/app/templates/views/uploads/choose-file.html index d9003677e..dcf69b1bf 100644 --- a/app/templates/views/uploads/choose-file.html +++ b/app/templates/views/uploads/choose-file.html @@ -29,6 +29,7 @@

{{ file_upload( form.file, + allowed_file_extensions='.pdf', action=url_for('main.upload_letter', service_id=current_service.id), button_text='Upload your file again' if error else 'Choose file', show_errors=False diff --git a/app/templates/views/uploads/preview.html b/app/templates/views/uploads/preview.html index b2fac4987..10588b153 100644 --- a/app/templates/views/uploads/preview.html +++ b/app/templates/views/uploads/preview.html @@ -19,6 +19,7 @@

{{ file_upload( re_upload_form.file, + allowed_file_extensions='.pdf', action=url_for('main.upload_letter', service_id=current_service.id), button_text='Upload your file again' ) }} diff --git a/tests/app/main/views/uploads/test_upload_letter.py b/tests/app/main/views/uploads/test_upload_letter.py index 68930b0c1..cfc8f64fd 100644 --- a/tests/app/main/views/uploads/test_upload_letter.py +++ b/tests/app/main/views/uploads/test_upload_letter.py @@ -15,6 +15,7 @@ def test_get_upload_letter(client_request): assert page.find('h1').text == 'Upload a letter' assert page.find('input', class_='file-upload-field') + assert page.find('input', class_='file-upload-field')['accept'] == '.pdf' assert page.select('main button[type=submit]') assert normalize_spaces(page.find('label', class_='file-upload-button').text) == 'Choose file' @@ -213,6 +214,7 @@ def test_post_upload_letter_shows_error_when_file_is_not_a_pdf(client_request): assert page.find('h1').text == 'Wrong file type' assert page.find('div', class_='banner-dangerous').find('p').text == 'Save your letter as a PDF and try again.' assert normalize_spaces(page.find('label', class_='file-upload-button').text) == 'Upload your file again' + assert page.find('input', type='file')['accept'] == '.pdf' def test_post_upload_letter_shows_error_when_no_file_uploaded(client_request): @@ -346,6 +348,7 @@ def test_post_upload_letter_shows_letter_preview_for_invalid_file(mocker, client assert page.find("a", {"class": "govuk-back-link"})["href"] == "/services/{}/upload-letter".format(SERVICE_ONE_ID) assert page.find("label", {"class": "file-upload-button"}) + assert page.find("input", {"type": "file"})["accept"] == '.pdf' letter_images = page.select('main img') assert len(letter_images) == 1