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