mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-27 19:29:11 -04:00
Merge pull request #1355 from alphagov/fix-page-title-notification
Fix page title on notification page
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{% extends "withoutnav_template.html" %}
|
||||
{% block per_page_title %}Page not found{% endblock %}
|
||||
{% block per_page_title %}Page could not be found{% endblock %}
|
||||
{% block maincolumn_content %}
|
||||
<div class="grid-row">
|
||||
<div class="column-two-thirds">
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
{% endmacro %}
|
||||
|
||||
{% block service_page_title %}
|
||||
{{ "Error" if errors else "Preview" }}
|
||||
{{ "Error" if errors else "Preview of {}".format(template.name) }}
|
||||
{% endblock %}
|
||||
|
||||
{% block maincolumn_content %}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
{% from "components/message-count-label.html" import message_count_label %}
|
||||
|
||||
{% block service_page_title %}
|
||||
{{ "Error" if error else "Preview" }}
|
||||
{{ "Error" if error else "Preview of {}".format(template.name) }}
|
||||
{% endblock %}
|
||||
|
||||
{% block maincolumn_content %}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
{% from "components/page-footer.html" import page_footer %}
|
||||
|
||||
{% block service_page_title %}
|
||||
Report
|
||||
{{ message_count_label(1, template.template_type, suffix='') | capitalize }}
|
||||
{% endblock %}
|
||||
|
||||
{% block maincolumn_content %}
|
||||
|
||||
@@ -8,8 +8,7 @@ from bs4 import BeautifulSoup
|
||||
|
||||
from app.main.views.jobs import get_time_left, get_status_filters
|
||||
from tests import notification_json
|
||||
from tests.conftest import SERVICE_ONE_ID, mock_get_notifications
|
||||
from tests.app.test_utils import normalize_spaces
|
||||
from tests.conftest import SERVICE_ONE_ID, mock_get_notifications, normalize_spaces
|
||||
from freezegun import freeze_time
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ from notifications_python_client.errors import HTTPError
|
||||
from tests.conftest import (
|
||||
SERVICE_ONE_ID,
|
||||
)
|
||||
from tests.app.test_utils import normalize_spaces
|
||||
from tests.conftest import normalize_spaces
|
||||
from freezegun import freeze_time
|
||||
from unittest import mock
|
||||
from app.main.views.conversation import get_user_number
|
||||
|
||||
@@ -21,8 +21,8 @@ from tests.conftest import (
|
||||
SERVICE_ONE_ID,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_inbound_sms_summary_with_no_messages,
|
||||
normalize_spaces,
|
||||
)
|
||||
from tests.app.test_utils import normalize_spaces
|
||||
|
||||
stub_template_stats = [
|
||||
{
|
||||
|
||||
@@ -8,8 +8,7 @@ from bs4 import BeautifulSoup
|
||||
|
||||
from app.main.views.jobs import get_time_left, get_status_filters
|
||||
from tests import notification_json
|
||||
from tests.app.test_utils import normalize_spaces
|
||||
from tests.conftest import SERVICE_ONE_ID
|
||||
from tests.conftest import SERVICE_ONE_ID, normalize_spaces
|
||||
from freezegun import freeze_time
|
||||
|
||||
|
||||
|
||||
@@ -8,8 +8,7 @@ from app.utils import (
|
||||
DELIVERED_STATUSES,
|
||||
)
|
||||
|
||||
from tests.app.test_utils import normalize_spaces
|
||||
from tests.conftest import mock_get_notification, SERVICE_ONE_ID
|
||||
from tests.conftest import mock_get_notification, SERVICE_ONE_ID, normalize_spaces
|
||||
|
||||
|
||||
@pytest.mark.parametrize('notification_status, expected_status', [
|
||||
|
||||
@@ -15,7 +15,6 @@ from notifications_utils.template import LetterPreviewTemplate, LetterImageTempl
|
||||
from notifications_utils.recipients import RecipientCSV
|
||||
|
||||
from tests import validate_route_permission, validate_route_permission_with_client
|
||||
from tests.app.test_utils import normalize_spaces
|
||||
from tests.conftest import (
|
||||
mock_get_service_template,
|
||||
mock_get_service_template_with_placeholders,
|
||||
@@ -23,6 +22,7 @@ from tests.conftest import (
|
||||
mock_get_service,
|
||||
mock_get_international_service,
|
||||
mock_get_service_email_template,
|
||||
normalize_spaces,
|
||||
SERVICE_ONE_ID,
|
||||
)
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import app
|
||||
from app.main.views.service_settings import dummy_bearer_token
|
||||
from app.utils import email_safe
|
||||
from tests import validate_route_permission, service_json
|
||||
from tests.app.test_utils import normalize_spaces
|
||||
from tests.conftest import normalize_spaces
|
||||
|
||||
from tests.conftest import active_user_with_permissions, platform_admin_user
|
||||
|
||||
|
||||
@@ -7,9 +7,13 @@ from flask import url_for
|
||||
from freezegun import freeze_time
|
||||
from notifications_python_client.errors import HTTPError
|
||||
from tests.conftest import service_one as create_sample_service
|
||||
from tests.conftest import mock_get_service_email_template, mock_get_service_letter_template, SERVICE_ONE_ID
|
||||
from tests.conftest import (
|
||||
mock_get_service_email_template,
|
||||
mock_get_service_letter_template,
|
||||
normalize_spaces,
|
||||
SERVICE_ONE_ID,
|
||||
)
|
||||
from tests import validate_route_permission, template_json, single_notification_json
|
||||
from tests.app.test_utils import normalize_spaces
|
||||
|
||||
from app.main.views.templates import get_last_use_message, get_human_readable_delta
|
||||
|
||||
|
||||
@@ -154,9 +154,3 @@ def test_generate_notifications_csv_calls_twice_if_next_link(mocker):
|
||||
# mock_calls[0][2] is the kwargs from first call
|
||||
assert mock_get_notifications.mock_calls[0][2]['page'] == 1
|
||||
assert mock_get_notifications.mock_calls[1][2]['page'] == 2
|
||||
|
||||
|
||||
def normalize_spaces(input):
|
||||
if isinstance(input, str):
|
||||
return ' '.join(input.split())
|
||||
return normalize_spaces(' '.join(item.text for item in input))
|
||||
|
||||
@@ -1757,13 +1757,26 @@ def client_request(logged_in_client):
|
||||
yield session
|
||||
|
||||
@staticmethod
|
||||
def get(endpoint, _expected_status=200, _follow_redirects=False, **endpoint_kwargs):
|
||||
def get(
|
||||
endpoint,
|
||||
_expected_status=200,
|
||||
_follow_redirects=False,
|
||||
_test_page_title=True,
|
||||
**endpoint_kwargs
|
||||
):
|
||||
resp = logged_in_client.get(
|
||||
url_for(endpoint, **(endpoint_kwargs or {})),
|
||||
follow_redirects=_follow_redirects,
|
||||
)
|
||||
assert resp.status_code == _expected_status
|
||||
return BeautifulSoup(resp.data.decode('utf-8'), 'html.parser')
|
||||
page = BeautifulSoup(resp.data.decode('utf-8'), 'html.parser')
|
||||
if _test_page_title:
|
||||
page_title, h1 = (
|
||||
normalize_spaces(page.find(selector).text) for selector in ('title', 'h1')
|
||||
)
|
||||
if not normalize_spaces(page_title).startswith(h1):
|
||||
raise AssertionError('Page title ‘{}’ does not start with H1 ‘{}’'.format(page_title, h1))
|
||||
return page
|
||||
|
||||
@staticmethod
|
||||
def post(endpoint, _data=None, _expected_status=None, _follow_redirects=False, **endpoint_kwargs):
|
||||
@@ -1778,3 +1791,9 @@ def client_request(logged_in_client):
|
||||
return BeautifulSoup(resp.data.decode('utf-8'), 'html.parser')
|
||||
|
||||
return ClientRequest
|
||||
|
||||
|
||||
def normalize_spaces(input):
|
||||
if isinstance(input, str):
|
||||
return ' '.join(input.split())
|
||||
return normalize_spaces(' '.join(item.text for item in input))
|
||||
|
||||
Reference in New Issue
Block a user