mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-09 17:45:32 -04:00
Merge pull request #1219 from alphagov/fix-back-link-check-page
Fix broken journey when going back from check page
This commit is contained in:
@@ -236,13 +236,13 @@ def _check_messages(service_id, template_type, upload_id, letters_as_pdf=False):
|
|||||||
|
|
||||||
if request.args.get('from_test'):
|
if request.args.get('from_test'):
|
||||||
extra_args = {'help': 1} if request.args.get('help', '0') != '0' else {}
|
extra_args = {'help': 1} if request.args.get('help', '0') != '0' else {}
|
||||||
if len(template.placeholders):
|
if len(template.placeholders) or template.template_type == 'letter':
|
||||||
back_link = url_for(
|
back_link = url_for(
|
||||||
'.send_test', service_id=service_id, template_id=template.id, **extra_args
|
'.send_test', service_id=service_id, template_id=template.id, **extra_args
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
back_link = url_for(
|
back_link = url_for(
|
||||||
'.choose_template', service_id=service_id, **extra_args
|
'.view_template', service_id=service_id, template_id=template.id, **extra_args
|
||||||
)
|
)
|
||||||
choose_time_form = None
|
choose_time_form = None
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -15,6 +15,11 @@ from app.main.views.send import get_check_messages_back_url
|
|||||||
|
|
||||||
from tests import validate_route_permission, template_json
|
from tests import validate_route_permission, template_json
|
||||||
from tests.app.test_utils import normalize_spaces
|
from tests.app.test_utils import normalize_spaces
|
||||||
|
from tests.conftest import (
|
||||||
|
mock_get_service_template,
|
||||||
|
mock_get_service_template_with_placeholders,
|
||||||
|
mock_get_service_letter_template,
|
||||||
|
)
|
||||||
|
|
||||||
template_types = ['email', 'sms']
|
template_types = ['email', 'sms']
|
||||||
|
|
||||||
@@ -688,18 +693,41 @@ def test_route_invalid_permissions(
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'extra_args,expected_url',
|
'template_mock, extra_args, expected_url',
|
||||||
[
|
[
|
||||||
(
|
(
|
||||||
|
mock_get_service_template,
|
||||||
dict(),
|
dict(),
|
||||||
|
partial(url_for, '.send_messages')
|
||||||
|
),
|
||||||
|
(
|
||||||
|
mock_get_service_template_with_placeholders,
|
||||||
|
dict(),
|
||||||
|
partial(url_for, '.send_messages')
|
||||||
|
),
|
||||||
|
(
|
||||||
|
mock_get_service_template,
|
||||||
|
dict(from_test=True),
|
||||||
|
partial(url_for, '.view_template')
|
||||||
|
),
|
||||||
|
(
|
||||||
|
mock_get_service_letter_template, # No placeholders
|
||||||
|
dict(from_test=True),
|
||||||
partial(url_for, '.send_test')
|
partial(url_for, '.send_test')
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
dict(help='0'),
|
mock_get_service_template_with_placeholders,
|
||||||
|
dict(from_test=True),
|
||||||
partial(url_for, '.send_test')
|
partial(url_for, '.send_test')
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
dict(help='2'),
|
mock_get_service_template_with_placeholders,
|
||||||
|
dict(help='0', from_test=True),
|
||||||
|
partial(url_for, '.send_test')
|
||||||
|
),
|
||||||
|
(
|
||||||
|
mock_get_service_template_with_placeholders,
|
||||||
|
dict(help='2', from_test=True),
|
||||||
partial(url_for, '.send_test', help='1')
|
partial(url_for, '.send_test', help='1')
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
@@ -711,14 +739,16 @@ def test_check_messages_back_link(
|
|||||||
mock_get_user_by_email,
|
mock_get_user_by_email,
|
||||||
mock_get_users_by_service,
|
mock_get_users_by_service,
|
||||||
mock_get_service,
|
mock_get_service,
|
||||||
mock_get_service_template_with_placeholders,
|
|
||||||
mock_has_permissions,
|
mock_has_permissions,
|
||||||
mock_get_detailed_service_for_today,
|
mock_get_detailed_service_for_today,
|
||||||
mock_s3_download,
|
mock_s3_download,
|
||||||
fake_uuid,
|
fake_uuid,
|
||||||
|
mocker,
|
||||||
|
template_mock,
|
||||||
extra_args,
|
extra_args,
|
||||||
expected_url
|
expected_url
|
||||||
):
|
):
|
||||||
|
template_mock(mocker)
|
||||||
with logged_in_client.session_transaction() as session:
|
with logged_in_client.session_transaction() as session:
|
||||||
session['upload_data'] = {'original_file_name': 'valid.csv',
|
session['upload_data'] = {'original_file_name': 'valid.csv',
|
||||||
'template_id': fake_uuid,
|
'template_id': fake_uuid,
|
||||||
@@ -729,7 +759,6 @@ def test_check_messages_back_link(
|
|||||||
service_id=fake_uuid,
|
service_id=fake_uuid,
|
||||||
upload_id=fake_uuid,
|
upload_id=fake_uuid,
|
||||||
template_type='sms',
|
template_type='sms',
|
||||||
from_test=True,
|
|
||||||
**extra_args
|
**extra_args
|
||||||
))
|
))
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
|
|||||||
Reference in New Issue
Block a user