mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-12 17:34:16 -04:00
Show row errors before trial mode errors
It’s useful to be able to play with the CSV upload thing and find out how it works before you’re interrupted by the error telling you that you’ve got as far as you can in trial mode.
This commit is contained in:
@@ -459,15 +459,17 @@ def check_messages(service_id, template_type, upload_id):
|
||||
data['recipients'].too_many_rows or
|
||||
not data['count_of_recipients'] or
|
||||
not data['recipients'].has_recipient_columns or
|
||||
data['recipients'].missing_column_headers or
|
||||
data['trying_to_send_letters_in_trial_mode']
|
||||
data['recipients'].missing_column_headers
|
||||
):
|
||||
return render_template('views/check/column-errors.html', **data)
|
||||
|
||||
if data['row_errors']:
|
||||
return render_template('views/check/row-errors.html', **data)
|
||||
|
||||
if data['errors']:
|
||||
if (
|
||||
data['errors'] or
|
||||
data['trying_to_send_letters_in_trial_mode']
|
||||
):
|
||||
return render_template('views/check/column-errors.html', **data)
|
||||
|
||||
return render_template('views/check/ok.html', **data)
|
||||
|
||||
@@ -1631,6 +1631,38 @@ def test_check_messages_shows_trial_mode_error_for_letters(
|
||||
assert not error
|
||||
|
||||
|
||||
def test_check_messages_shows_data_errors_before_trial_mode_errors_for_letters(
|
||||
mocker,
|
||||
client_request,
|
||||
mock_get_service_letter_template,
|
||||
mock_has_permissions,
|
||||
mock_get_users_by_service,
|
||||
mock_get_detailed_service_for_today,
|
||||
):
|
||||
|
||||
mocker.patch('app.main.views.send.s3download', return_value='\n'.join(
|
||||
['address_line_1,address_line_2,postcode,'] +
|
||||
[' , ,11SW1 1AA']
|
||||
))
|
||||
|
||||
with client_request.session_transaction() as session:
|
||||
session['upload_data'] = {'template_id': '', 'original_file_name': 'example.xlsx'}
|
||||
|
||||
page = client_request.get(
|
||||
'main.check_messages',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
template_type='letter',
|
||||
upload_id=uuid.uuid4(),
|
||||
_test_page_title=False,
|
||||
)
|
||||
|
||||
assert normalize_spaces(page.select_one('.banner-dangerous').text) == (
|
||||
'There is a problem with example.xlsx '
|
||||
'You need to enter missing data in 1 row '
|
||||
'Skip to file contents'
|
||||
)
|
||||
|
||||
|
||||
def test_generate_test_letter_doesnt_block_in_trial_mode(
|
||||
client_request,
|
||||
mocker,
|
||||
|
||||
Reference in New Issue
Block a user