diff --git a/app/main/views/send.py b/app/main/views/send.py index b1a1cc53e..870fdcb48 100644 --- a/app/main/views/send.py +++ b/app/main/views/send.py @@ -440,9 +440,11 @@ def _check_messages(service_id, template_type, upload_id, letters_as_pdf=False): choose_time_form=choose_time_form, back_link=back_link, help=get_help_argument(), - trying_to_send_letters_in_trial_mode=bool( - current_service['restricted'] and template.template_type == 'letter' - ), + trying_to_send_letters_in_trial_mode=all(( + current_service['restricted'], + template.template_type == 'letter', + not request.args.get('from_test'), + )), ) diff --git a/tests/app/main/views/test_send.py b/tests/app/main/views/test_send.py index 06504e8c0..d80548416 100644 --- a/tests/app/main/views/test_send.py +++ b/tests/app/main/views/test_send.py @@ -1631,6 +1631,38 @@ def test_check_messages_shows_trial_mode_error_for_letters( assert not error +def test_generate_test_letter_doesnt_block_in_trial_mode( + client_request, + mocker, + mock_get_service, + 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=""" + address_line_1,address_line_2,postcode, + First Last, 123 Street, SW1 1AA + """) + + with client_request.session_transaction() as session: + session['upload_data'] = {'template_id': ''} + + page = client_request.get( + 'main.check_messages', + service_id=SERVICE_ONE_ID, + template_type='letter', + upload_id=uuid.uuid4(), + from_test=True, + _test_page_title=False, + ) + + assert not page.select('.banner-dangerous') + + assert page.select_one('a.button').text == 'Download as a printable PDF' + + def test_check_messages_shows_over_max_row_error( logged_in_client, api_user_active,