Show text message sender in send one-off flow

If you’ve chosen a text message sender then it’s good to see
confirmation of your choice.

This replicates what we do when you choose an email reply-to address.
This commit is contained in:
Chris Hill-Scott
2017-11-16 14:13:32 +00:00
parent 8d38215e86
commit 7d1cf2169d
3 changed files with 59 additions and 1 deletions

View File

@@ -48,6 +48,12 @@ $tail-angle: 20deg;
}
.sms-message-sender {
@include copy-19;
color: $secondary-text-colour;
margin: 0 0 -10px 0;
}
.sms-message-recipient {
@include copy-19;
color: $secondary-text-colour;

View File

@@ -272,7 +272,7 @@ def get_template(
page_count=1,
redact_missing_personalisation=False,
email_reply_to=None,
sms_sender=None
sms_sender=None,
):
if 'email' == template['template_type']:
return EmailPreviewTemplate(
@@ -290,6 +290,7 @@ def get_template(
prefix=service['name'],
show_prefix=service['prefix_sms'],
sender=sms_sender,
show_sender=bool(sms_sender),
show_recipient=show_recipient,
redact_missing_personalisation=redact_missing_personalisation,
)

View File

@@ -2377,3 +2377,54 @@ def test_reply_to_is_previewed_if_chosen(
assert 'test@example.com' in email_meta
else:
assert 'test@example.com' not in email_meta
@pytest.mark.parametrize('endpoint, extra_args', [
('main.check_messages', {'template_type': 'sms', 'upload_id': fake_uuid()}),
('main.send_one_off_step', {'template_id': fake_uuid(), 'step_index': 0}),
])
@pytest.mark.parametrize('sms_sender', [
None,
fake_uuid(),
])
def test_sms_sender_is_previewed(
client_request,
mocker,
mock_get_service_template,
mock_s3_download,
mock_get_users_by_service,
mock_get_detailed_service_for_today,
get_default_sms_sender,
endpoint,
extra_args,
sms_sender,
):
mocker.patch('app.main.views.send.s3download', return_value="""
phone number,date,thing
7700900986,foo,bar
""")
with client_request.session_transaction() as session:
session['recipient'] = '7700900986'
session['placeholders'] = {}
session['upload_data'] = {
'original_file_name': 'example.csv',
'template_id': fake_uuid(),
'notification_count': 1,
'valid': True
}
session['sender_id'] = sms_sender
page = client_request.get(
endpoint,
service_id=SERVICE_ONE_ID,
**extra_args
)
sms_sender_on_page = page.select_one('.sms-message-sender')
if sms_sender:
assert sms_sender_on_page.text.strip() == 'From: GOVUK'
else:
assert not sms_sender_on_page