diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index fcc845654..60e6f1529 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -169,6 +169,9 @@ def request_to_go_live(service_id): service_id, 'manage_settings' ) > 1 ), + has_templates=( + service_api_client.count_service_templates(service_id) > 0 + ), ) diff --git a/app/templates/views/service-settings/request-to-go-live.html b/app/templates/views/service-settings/request-to-go-live.html index 65b1b6ac8..0670015cd 100644 --- a/app/templates/views/service-settings/request-to-go-live.html +++ b/app/templates/views/service-settings/request-to-go-live.html @@ -22,6 +22,10 @@ has_team_members, 'Another person in your team has the ‘Manage service’ permission', ) }} + {{ tick_cross_done_not_done( + has_templates, + 'You’ve added some templates', + ) }}

You also need to: @@ -35,7 +39,7 @@ settings page

  • - add the templates you want to start with, making sure they follow the GOV.UK Service Manual standards for + make sure your messages follow the GOV.UK Service Manual standards for writing text messages and emails
  • diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py index ee0e80387..e1730de70 100644 --- a/tests/app/main/views/test_service_settings.py +++ b/tests/app/main/views/test_service_settings.py @@ -455,30 +455,46 @@ def test_should_raise_duplicate_name_handled( assert mock_verify_password.called -@pytest.mark.parametrize('count_of_users_with_manage_service, expected_checklist_item', [ +@pytest.mark.parametrize('count_of_users_with_manage_service, expected_user_checklist_item', [ (1, 'Not done: Another person in your team has the ‘Manage service’ permission'), (2, 'Done: Another person in your team has the ‘Manage service’ permission'), ]) +@pytest.mark.parametrize('count_of_templates, expected_templates_checklist_item', [ + (0, 'Not done: You’ve added some templates'), + (1, 'Done: You’ve added some templates'), + (2, 'Done: You’ve added some templates'), +]) def test_should_show_request_to_go_live_checklist( client_request, mocker, count_of_users_with_manage_service, - expected_checklist_item, + expected_user_checklist_item, + count_of_templates, + expected_templates_checklist_item, ): mock_count_users = mocker.patch( 'app.main.views.service_settings.user_api_client.get_count_of_users_with_permission', return_value=count_of_users_with_manage_service ) + mock_count_templates = mocker.patch( + 'app.main.views.service_settings.service_api_client.count_service_templates', + return_value=count_of_templates + ) + page = client_request.get( 'main.request_to_go_live', service_id=SERVICE_ONE_ID ) assert page.h1.text == 'Request to go live' - assert normalize_spaces(page.select('main ul li')[0].text) == expected_checklist_item + + assert normalize_spaces(page.select('main ul li')[0].text) == expected_user_checklist_item + assert normalize_spaces(page.select('main ul li')[1].text) == expected_templates_checklist_item + assert page.select_one('main .button')['href'] == url_for( 'main.submit_request_to_go_live', service_id=SERVICE_ONE_ID, ) mock_count_users.assert_called_once_with(SERVICE_ONE_ID, 'manage_settings') + mock_count_templates.assert_called_once_with(SERVICE_ONE_ID) def test_should_show_request_to_go_live( @@ -577,6 +593,7 @@ def test_route_permissions( single_sms_sender, route, mock_get_service_settings_page_common, + mock_get_service_templates, ): validate_route_permission( mocker, @@ -606,6 +623,7 @@ def test_route_invalid_permissions( api_user_active, service_one, route, + mock_get_service_templates, ): validate_route_permission( mocker, @@ -637,6 +655,7 @@ def test_route_for_platform_admin( single_sms_sender, route, mock_get_service_settings_page_common, + mock_get_service_templates, ): validate_route_permission(mocker, app_,