Don’t show trial mode error if making test letter

We don’t want users in trial mode sending real letters. So we’ve
introduced an error message. This error message is also showing up when
users in trial mode and making a test letter (and having the knock on
effect of hiding the download button).

They should be able to make a test letter in trial mode, because it
doesn’t cost anything.
This commit is contained in:
Chris Hill-Scott
2017-08-25 14:17:23 +01:00
parent ea95493b42
commit edf54d8fe0
2 changed files with 37 additions and 3 deletions

View File

@@ -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'),
)),
)

View File

@@ -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,