mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-18 13:39:57 -04:00
Add check for ascii only in recipients file
This commit is contained in:
@@ -1529,6 +1529,36 @@ def test_check_messages_shows_over_max_row_error(
|
||||
)
|
||||
|
||||
|
||||
def test_special_characters_in_dvla_recipients_file_shows_error(
|
||||
logged_in_client,
|
||||
mock_get_users_by_service,
|
||||
mock_get_service,
|
||||
mock_get_service_letter_template,
|
||||
mock_get_detailed_service_for_today,
|
||||
fake_uuid,
|
||||
mocker
|
||||
):
|
||||
mocker.patch('app.main.views.send.get_page_count_for_letter', return_value=1)
|
||||
|
||||
mock_recipients = mocker.patch('app.utils.Spreadsheet.from_file').return_value
|
||||
mock_recipients.as_dict = {
|
||||
'file_name': 'invalid_characters.csv', 'data':
|
||||
'address line 1,address line 2,address line 3,address line 4,address line 5,address line 6,postcode\r\n'\
|
||||
'B. √Name,345 Example Street,,,,,ZM4 6HQ©'
|
||||
}
|
||||
|
||||
response = logged_in_client.post(
|
||||
url_for('main.send_messages', service_id=SERVICE_ONE_ID, template_id=fake_uuid),
|
||||
data={'file': (None, 'invalid_characters.csv')},
|
||||
)
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
assert ' '.join(
|
||||
page.find('div', class_='banner-dangerous').text.split()
|
||||
) == 'Invalid characters in the address fields within invalid_characters.csv.'
|
||||
|
||||
|
||||
def test_check_messages_redirects_if_no_upload_data(logged_in_client, service_one, mocker):
|
||||
checker = mocker.patch('app.main.views.send.get_check_messages_back_url', return_value='foo')
|
||||
response = logged_in_client.get(url_for(
|
||||
|
||||
Reference in New Issue
Block a user