Files
notifications-admin/tests/app/main/views/test_notifications.py
Chris Hill-Scott 4b02612d93 Fix missing recipients on notification page
For some reason:
- notifications sent from CSV files have the recipient as part of the
  personalisation
- notifications sent via the API don’t have the recipient as part of the
  personalisation

I’d only tested it locally with CSV-sent files so didn’t spot this. The
`conftest.py` fixtures we set up like the API already, but we didn’t
have an explicit test.

This commit adds a method to append the recipient to the
personalisation, so we can populate the template with it.
2017-06-23 14:43:39 +01:00

60 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from freezegun import freeze_time
import pytest
from app.utils import (
REQUESTED_STATUSES,
FAILURE_STATUSES,
SENDING_STATUSES,
DELIVERED_STATUSES,
)
from tests.app.test_utils import normalize_spaces
from tests.conftest import mock_get_notification
@pytest.mark.parametrize('notification_status, expected_status', [
('created', 'Sending'),
('sending', 'Sending'),
('delivered', 'Delivered'),
('failed', 'Failed'),
('temporary-failure', 'Phone not accepting messages right now'),
('permanent-failure', 'Phone number doesnt exist'),
('technical-failure', 'Technical failure'),
])
@freeze_time("2016-01-01 11:09:00.061258")
def test_notification_status_page_shows_details(
client_request,
mocker,
service_one,
fake_uuid,
notification_status,
expected_status,
):
_mock_get_notification = mock_get_notification(
mocker,
fake_uuid,
notification_status=notification_status
)
page = client_request.get(
'main.view_notification',
service_id=service_one['id'],
notification_id=fake_uuid
)
assert normalize_spaces(page.select('.sms-message-recipient')[0].text) == (
'To: 07123456789'
)
assert normalize_spaces(page.select('.sms-message-wrapper')[0].text) == (
'service one: hello Jo'
)
assert normalize_spaces(page.select('.ajax-block-container p')[0].text) == (
expected_status
)
_mock_get_notification.assert_called_with(
service_one['id'],
fake_uuid
)