diff --git a/app/templates/error/401.html b/app/templates/error/401.html
index f6960986e..c5f513027 100644
--- a/app/templates/error/401.html
+++ b/app/templates/error/401.html
@@ -1,9 +1,9 @@
{% extends "withoutnav_template.html" %}
-{% block per_page_title %}Unauthorized{% endblock %}
+{% block per_page_title %}You are not authorised to see this page{% endblock %}
{% block maincolumn_content %}
-
401
-
You are not authorized to see this page.
+
You are not authorised to see this page
+
Sign in to GOV.UK Notify and try again.
{% endblock %}
diff --git a/app/templates/error/403.html b/app/templates/error/403.html
index b6573c393..552188430 100644
--- a/app/templates/error/403.html
+++ b/app/templates/error/403.html
@@ -1,13 +1,13 @@
{% extends "withoutnav_template.html" %}
-{% block per_page_title %}403{% endblock %}
+{% block per_page_title %}You are not allowed to see this page{% endblock %}
{% block maincolumn_content %}
- 403
+ You are not allowed to see this page
- You do not have permission to view this page.
+ To check your permissions, speak to a member of your team who can manage settings, team and usage.
diff --git a/app/templates/error/404.html b/app/templates/error/404.html
index 341cd7040..acb43af52 100644
--- a/app/templates/error/404.html
+++ b/app/templates/error/404.html
@@ -1,13 +1,19 @@
{% extends "withoutnav_template.html" %}
-{% block per_page_title %}Page could not be found{% endblock %}
+{% block per_page_title %}Page not found{% endblock %}
{% block maincolumn_content %}
- Page could not be found
+ Page not found
- Check you’ve entered the correct web address.
+ If you typed the web address, check it is correct.
+
+
+ If you pasted the web address, check you copied the entire address.
+
+
+ If the web address is correct or you selected a link or button, contact us.
diff --git a/app/templates/error/410.html b/app/templates/error/410.html
index 3e734e10a..acb43af52 100644
--- a/app/templates/error/410.html
+++ b/app/templates/error/410.html
@@ -4,10 +4,16 @@
- Page could not be found
+ Page not found
- Check you’ve entered the correct web address.
+ If you typed the web address, check it is correct.
+
+
+ If you pasted the web address, check you copied the entire address.
+
+
+ If the web address is correct or you selected a link or button, contact us.
diff --git a/app/templates/error/500.html b/app/templates/error/500.html
index 488db2d7d..0d3109996 100644
--- a/app/templates/error/500.html
+++ b/app/templates/error/500.html
@@ -1,12 +1,20 @@
{% extends "withoutnav_template.html" %}
-{% block per_page_title %}Server error{% endblock %}
+{% block per_page_title %}Sorry, there’s a problem with the service{% endblock %}
{% block maincolumn_content %}
- Sorry, we’re experiencing technical difficulties
+ Sorry, there’s a problem with GOV.UK Notify
-
Try again later.
+
+ Try again later.
+
+
+ You can check our system status page to see if there are any known issues.
+
+
+ To report a problem, email notify-support@digital.cabinet-office.gov.uk
+
{% endblock %}
diff --git a/tests/app/main/test_errorhandlers.py b/tests/app/main/test_errorhandlers.py
index 1b36bcbbc..6c52612bb 100644
--- a/tests/app/main/test_errorhandlers.py
+++ b/tests/app/main/test_errorhandlers.py
@@ -9,7 +9,8 @@ def test_bad_url_returns_page_not_found(client):
response = client.get('/bad_url')
assert response.status_code == 404
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
- assert page.h1.string.strip() == 'Page could not be found'
+ assert page.h1.string.strip() == 'Page not found'
+ assert page.title.string.strip() == 'Page not found – GOV.UK Notify'
def test_load_service_before_request_handles_404(client_request, mocker):
@@ -35,9 +36,10 @@ def test_malformed_token_returns_page_not_found(logged_in_client, url):
assert response.status_code == 404
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
- assert page.h1.string.strip() == 'Page could not be found'
+ assert page.h1.string.strip() == 'Page not found'
flash_banner = page.find('div', class_='banner-dangerous').string.strip()
assert flash_banner == "There’s something wrong with the link you’ve used."
+ assert page.title.string.strip() == 'Page not found – GOV.UK Notify'
def test_csrf_returns_400(logged_in_client, mocker):
@@ -50,6 +52,7 @@ def test_csrf_returns_400(logged_in_client, mocker):
assert response.status_code == 400
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
assert page.h1.string.strip() == 'Something went wrong, please go back and try again.'
+ assert page.title.string.strip() == 'Bad request – GOV.UK Notify'
def test_csrf_redirects_to_sign_in_page_if_not_signed_in(client, mocker):
@@ -68,3 +71,4 @@ def test_405_returns_something_went_wrong_page(client, mocker):
assert response.status_code == 405
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
assert page.h1.string.strip() == 'Something went wrong, please go back and try again.'
+ assert page.title.string.strip() == 'Bad request – GOV.UK Notify'
diff --git a/tests/app/main/views/accounts/test_choose_accounts.py b/tests/app/main/views/accounts/test_choose_accounts.py
index bc3c3b69b..7024ff34c 100644
--- a/tests/app/main/views/accounts/test_choose_accounts.py
+++ b/tests/app/main/views/accounts/test_choose_accounts.py
@@ -247,8 +247,8 @@ def test_choose_account_should_not_show_back_to_service_link_if_service_archived
)),
(service_two, 403, (
# Page has no ‘back to’ link
- '403 '
- 'You do not have permission to view this page.'
+ 'You are not allowed to see this page '
+ 'To check your permissions, speak to a member of your team who can manage settings, team and usage.'
)),
))
def test_should_not_show_back_to_service_if_user_doesnt_belong_to_service(
diff --git a/tests/app/main/views/test_accept_invite.py b/tests/app/main/views/test_accept_invite.py
index c1bc31804..e46e7a83f 100644
--- a/tests/app/main/views/test_accept_invite.py
+++ b/tests/app/main/views/test_accept_invite.py
@@ -415,7 +415,7 @@ def test_signed_in_existing_user_cannot_use_anothers_invite(
_follow_redirects=True,
_expected_status=403,
)
- assert page.h1.string.strip() == '403'
+ assert page.h1.string.strip() == 'You are not allowed to see this page'
flash_banners = page.find_all('div', class_='banner-dangerous')
assert len(flash_banners) == 1
banner_contents = flash_banners[0].text.strip()