mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-31 11:49:58 -04:00
Merge pull request #3742 from alphagov/fix-for-file-input-in-safari
Fix for file input bug in safari
This commit is contained in:
@@ -61,6 +61,7 @@ def test_edit_email_branding_shows_the_correct_branding_info(
|
||||
|
||||
assert page.select_one('#logo-img > img')['src'].endswith('/example.png')
|
||||
assert page.select_one('#name').attrs.get('value') == 'Organisation name'
|
||||
assert page.select_one('#file').attrs.get('accept') == '.png'
|
||||
assert page.select_one('#text').attrs.get('value') == 'Organisation text'
|
||||
assert page.select_one('#colour').attrs.get('value') == '#f00'
|
||||
|
||||
@@ -79,6 +80,7 @@ def test_create_email_branding_does_not_show_any_branding_info(
|
||||
|
||||
assert page.select_one('#logo-img > img') is None
|
||||
assert page.select_one('#name').attrs.get('value') is None
|
||||
assert page.select_one('#file').attrs.get('accept') == '.png'
|
||||
assert page.select_one('#text').attrs.get('value') is None
|
||||
assert page.select_one('#colour').attrs.get('value') is None
|
||||
|
||||
|
||||
@@ -62,6 +62,7 @@ def test_update_letter_branding_shows_the_current_letter_brand(
|
||||
assert page.find('h1').text == 'Update letter branding'
|
||||
assert page.select_one('#logo-img > img')['src'].endswith('/hm-government.svg')
|
||||
assert page.select_one('#name').attrs.get('value') == 'HM Government'
|
||||
assert page.select_one('#file').attrs.get('accept') == '.svg'
|
||||
|
||||
|
||||
def test_update_letter_branding_with_new_valid_file(
|
||||
@@ -312,6 +313,7 @@ def test_create_letter_branding_does_not_show_branding_info(platform_admin_clien
|
||||
|
||||
assert page.select_one('#logo-img > img') is None
|
||||
assert page.select_one('#name').attrs.get('value') is None
|
||||
assert page.select_one('#file').attrs.get('accept') == '.svg'
|
||||
|
||||
|
||||
def test_create_letter_branding_when_uploading_valid_file(
|
||||
|
||||
@@ -308,6 +308,8 @@ def test_example_spreadsheet(
|
||||
) == (
|
||||
'1 phone number name date'
|
||||
)
|
||||
assert page.select_one('input[type=file]').has_attr('accept')
|
||||
assert page.select_one('input[type=file]')['accept'] == '.csv,.xlsx,.xls,.ods,.xlsm,.tsv'
|
||||
|
||||
|
||||
def test_example_spreadsheet_for_letters(
|
||||
@@ -505,6 +507,11 @@ def test_upload_csv_file_with_errors_shows_check_page_with_errors(
|
||||
assert 'file_uploads' not in session
|
||||
|
||||
assert response.status_code == 200
|
||||
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
assert page.select_one('input[type=file]').has_attr('accept')
|
||||
assert page.select_one('input[type=file]')['accept'] == '.csv,.xlsx,.xls,.ods,.xlsm,.tsv'
|
||||
|
||||
content = response.get_data(as_text=True)
|
||||
assert 'There’s a problem with example.csv' in content
|
||||
assert '+447700900986' in content
|
||||
@@ -896,6 +903,8 @@ def test_upload_csv_file_with_missing_columns_shows_error(
|
||||
with client_request.session_transaction() as session:
|
||||
assert 'file_uploads' not in session
|
||||
|
||||
assert page.select_one('input[type=file]').has_attr('accept')
|
||||
assert page.select_one('input[type=file]')['accept'] == '.csv,.xlsx,.xls,.ods,.xlsm,.tsv'
|
||||
assert normalize_spaces(page.select('.banner-dangerous')[0].text) == expected_error
|
||||
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ def test_upload_contact_list_page(client_request):
|
||||
assert 'action' not in page.select_one('form')
|
||||
assert page.select_one('form input')['name'] == 'file'
|
||||
assert page.select_one('form input')['type'] == 'file'
|
||||
assert page.select_one('form input')['accept'] == '.csv,.xlsx,.xls,.ods,.xlsm,.tsv'
|
||||
|
||||
assert normalize_spaces(page.select('.spreadsheet')[0].text) == (
|
||||
'Example A '
|
||||
@@ -234,6 +235,7 @@ def test_upload_csv_file_shows_error_banner(
|
||||
service_id=SERVICE_ONE_ID,
|
||||
)
|
||||
assert page.select_one('form input')['type'] == 'file'
|
||||
assert page.select_one('form input')['accept'] == '.csv,.xlsx,.xls,.ods,.xlsm,.tsv'
|
||||
|
||||
assert normalize_spaces(page.select_one('thead').text) == expected_thead
|
||||
assert normalize_spaces(page.select_one('tbody').text) == expected_tbody
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user