Fix preview of text messages on activity page

Also beefs up the tests a bit so we can be more confident that the right
thing is getting displayed.

Depends on:
- [ ] https://github.com/alphagov/notifications-utils/pull/725
This commit is contained in:
Chris Hill-Scott
2020-04-22 16:03:37 +01:00
parent f91aba212d
commit 0d92664fc8
4 changed files with 30 additions and 16 deletions

View File

@@ -16,7 +16,7 @@ from notifications_python_client.errors import HTTPError
from notifications_utils.template import (
EmailPreviewTemplate,
LetterPreviewTemplate,
SMSPreviewTemplate,
SMSBodyPreviewTemplate,
)
from app import (
@@ -421,11 +421,9 @@ def get_preview_of_content(notification):
return notification['client_reference']
if notification['template']['template_type'] == 'sms':
return str(SMSPreviewTemplate(
return str(SMSBodyPreviewTemplate(
notification['template'],
notification['personalisation'],
redact_missing_personalisation=True,
show_prefix=False,
))
if notification['template']['template_type'] == 'email':

View File

@@ -23,5 +23,5 @@ notifications-python-client==5.5.1
awscli-cwlogs>=1.4,<1.5
itsdangerous==1.1.0
git+https://github.com/alphagov/notifications-utils.git@37.0.0#egg=notifications-utils==37.0.0
git+https://github.com/alphagov/notifications-utils.git@37.2.0#egg=notifications-utils==37.2.0
git+https://github.com/alphagov/govuk-frontend-jinja.git@v0.5.1-alpha#egg=govuk-frontend-jinja==0.5.1-alpha

View File

@@ -25,14 +25,14 @@ notifications-python-client==5.5.1
awscli-cwlogs>=1.4,<1.5
itsdangerous==1.1.0
git+https://github.com/alphagov/notifications-utils.git@37.0.0#egg=notifications-utils==37.0.0
git+https://github.com/alphagov/notifications-utils.git@37.2.0#egg=notifications-utils==37.2.0
git+https://github.com/alphagov/govuk-frontend-jinja.git@v0.5.1-alpha#egg=govuk-frontend-jinja==0.5.1-alpha
## The following requirements were added by pip freeze:
awscli==1.18.39
awscli==1.18.43
bleach==3.1.4
boto3==1.10.38
botocore==1.15.39
botocore==1.15.43
certifi==2020.4.5.1
chardet==3.0.4
click==7.1.1
@@ -71,9 +71,9 @@ six==1.14.0
smartypants==2.0.1
statsd==3.3.0
texttable==1.6.2
urllib3==1.25.8
urllib3==1.25.9
webencodings==0.5.1
Werkzeug==1.0.1
WTForms==2.2.1
WTForms==2.3.0
xlrd==1.2.0
xlwt==1.3.0

View File

@@ -86,6 +86,7 @@ from tests.conftest import (
('test@example.com', 'test@example.com'),
]
)
@freeze_time('2020-01-01 01:00')
def test_can_show_notifications(
client_request,
logged_in_client,
@@ -129,13 +130,28 @@ def test_can_show_notifications(
page=page_argument,
**extra_args
)
text_of_first_row = page.select('tbody tr')[0].text
assert '07123456789' in text_of_first_row
assert (
'template content' in text_of_first_row or
'template subject' in text_of_first_row
first_row = page.select_one('tbody tr')
assert normalize_spaces(
first_row.select_one('a.file-list-filename.govuk-link').text
) == (
'07123456789'
)
assert 'Delivered' in text_of_first_row
assert normalize_spaces(
# Were doing str() here not .text to make sure theres no extra
# HTML sneaking in
str(first_row.select_one('.file-list-hint'))
) == (
'template content'
) or (
'template subject'
)
assert normalize_spaces(
first_row.select_one('.table-field-right-aligned .align-with-message-body').text
) == (
'Delivered 1 January at 1:01am'
)
assert page_title in page.h1.text.strip()
path_to_json = page.find("div", {'data-key': 'notifications'})['data-resource']