diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py
index 9a50c48df..7561967ac 100644
--- a/app/main/views/service_settings.py
+++ b/app/main/views/service_settings.py
@@ -713,7 +713,7 @@ def service_add_letter_contact(service_id):
)
if request.args.get('from_template'):
return redirect(
- url_for('.set_template_sender', service_id=service_id, template_id=request.args.get('from_template'))
+ url_for('.view_template', service_id=service_id, template_id=request.args.get('from_template'))
)
return redirect(url_for('.service_letter_contact_details', service_id=service_id))
return render_template(
diff --git a/app/templates/views/service-settings/letter-contact/add.html b/app/templates/views/service-settings/letter-contact/add.html
index 5795f69e9..6e91ad984 100644
--- a/app/templates/views/service-settings/letter-contact/add.html
+++ b/app/templates/views/service-settings/letter-contact/add.html
@@ -13,7 +13,7 @@
{{ page_header(
'Add a new address',
- back_link=None if request.args.get('from_template') else url_for('.service_letter_contact_details', service_id=current_service.id)
+ back_link=url_for('main.view_template', template_id=request.args.get('from_template'), service_id=current_service.id) if request.args.get('from_template') else url_for('.service_letter_contact_details', service_id=current_service.id)
) }}
diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py
index 917e4d447..fa7660f94 100644
--- a/tests/app/main/views/test_service_settings.py
+++ b/tests/app/main/views/test_service_settings.py
@@ -2169,26 +2169,39 @@ def test_add_letter_contact_when_coming_from_template(
fake_uuid,
mock_get_service_letter_template,
):
- data = {
- 'letter_contact_block': "1 Example Street"
- }
-
- page = client_request.post(
+ page = client_request.get(
'main.service_add_letter_contact',
service_id=SERVICE_ONE_ID,
- _data=data,
from_template=fake_uuid,
- _follow_redirects=True
+ )
+
+ assert page.select_one('.govuk-back-link')['href'] == url_for(
+ 'main.view_template',
+ service_id=SERVICE_ONE_ID,
+ template_id=fake_uuid,
+ )
+
+ client_request.post(
+ 'main.service_add_letter_contact',
+ service_id=SERVICE_ONE_ID,
+ _data={
+ 'letter_contact_block': '1 Example Street',
+ },
+ from_template=fake_uuid,
+ _expected_redirect=url_for(
+ 'main.view_template',
+ service_id=SERVICE_ONE_ID,
+ template_id=fake_uuid,
+ _external=True,
+ ),
)
mock_add_letter_contact.assert_called_once_with(
SERVICE_ONE_ID,
contact_block="1 Example Street",
- is_default=True
+ is_default=True,
)
- assert page.find('h1').text == 'Set letter contact block'
-
@pytest.mark.parametrize('fixture, data, api_default_args', [
(no_sms_senders, {}, True),