mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-26 15:48:28 -04:00
Merge pull request #1603 from alphagov/sms-sender-for-one-off
Select text message sender for one off notifications
This commit is contained in:
@@ -27,6 +27,10 @@ from tests.conftest import (
|
||||
mock_get_live_service,
|
||||
multiple_reply_to_email_addresses,
|
||||
no_reply_to_email_addresses,
|
||||
multiple_sms_senders,
|
||||
no_sms_senders,
|
||||
multiple_sms_senders_with_diff_default,
|
||||
multiple_sms_senders_no_inbound
|
||||
)
|
||||
|
||||
template_types = ['email', 'sms']
|
||||
@@ -43,6 +47,12 @@ test_non_spreadsheet_files = glob(path.join('tests', 'non_spreadsheet_files', '*
|
||||
'Choose where to send replies',
|
||||
'Select an email address that recipients can reply to'
|
||||
),
|
||||
(
|
||||
mock_get_service_template,
|
||||
multiple_sms_senders,
|
||||
'Chose text message sender',
|
||||
'Select a text message sender that the recipients can reply to'
|
||||
)
|
||||
])
|
||||
def test_show_correct_title_and_description_for_sender_type(
|
||||
client_request,
|
||||
@@ -67,12 +77,47 @@ def test_show_correct_title_and_description_for_sender_type(
|
||||
assert normalize_spaces(page.select_one('legend').text) == expected_description
|
||||
|
||||
|
||||
@pytest.mark.parametrize('template_mock, sender_data', [
|
||||
(
|
||||
mock_get_service_email_template,
|
||||
multiple_reply_to_email_addresses,
|
||||
),
|
||||
(
|
||||
mock_get_service_template,
|
||||
multiple_sms_senders_with_diff_default
|
||||
),
|
||||
(
|
||||
mock_get_service_template,
|
||||
multiple_sms_senders_no_inbound
|
||||
)
|
||||
])
|
||||
def test_default_sender_is_checked_and_has_hint(
|
||||
client_request,
|
||||
service_one,
|
||||
fake_uuid,
|
||||
mock_get_service_email_template,
|
||||
multiple_reply_to_email_addresses
|
||||
template_mock,
|
||||
sender_data,
|
||||
mocker
|
||||
):
|
||||
template_mock(mocker)
|
||||
sender_data(mocker)
|
||||
page = client_request.get(
|
||||
'.set_sender',
|
||||
service_id=service_one['id'],
|
||||
template_id=fake_uuid
|
||||
)
|
||||
|
||||
assert page.select('.multiple-choice input')[0].has_attr('checked')
|
||||
assert normalize_spaces(page.select_one('.multiple-choice label .block-label-hint').text) == "(Default)"
|
||||
assert not page.select('.multiple-choice input')[1].has_attr('checked')
|
||||
|
||||
|
||||
def test_default_inbound_sender_is_checked_and_has_hint_with_default_and_receives_text(
|
||||
client_request,
|
||||
service_one,
|
||||
fake_uuid,
|
||||
mock_get_service_template,
|
||||
multiple_sms_senders
|
||||
):
|
||||
page = client_request.get(
|
||||
'.set_sender',
|
||||
@@ -81,18 +126,52 @@ def test_default_sender_is_checked_and_has_hint(
|
||||
)
|
||||
|
||||
assert page.select('.multiple-choice input')[0].has_attr('checked')
|
||||
assert normalize_spaces(page.select_one('.multiple-choice label .block-label-hint').text) == "Default"
|
||||
assert normalize_spaces(
|
||||
page.select_one('.multiple-choice label .block-label-hint').text) == "(Default and receives replies)"
|
||||
assert not page.select('.multiple-choice input')[1].has_attr('checked')
|
||||
assert not page.select('.multiple-choice input')[2].has_attr('checked')
|
||||
|
||||
|
||||
def test_sms_sender_has_receives_replies_hint(
|
||||
client_request,
|
||||
service_one,
|
||||
fake_uuid,
|
||||
mock_get_service_template,
|
||||
multiple_sms_senders
|
||||
):
|
||||
page = client_request.get(
|
||||
'.set_sender',
|
||||
service_id=service_one['id'],
|
||||
template_id=fake_uuid
|
||||
)
|
||||
|
||||
assert page.select('.multiple-choice input')[0].has_attr('checked')
|
||||
assert normalize_spaces(
|
||||
page.select_one('.multiple-choice label .block-label-hint').text) == "(Default and receives replies)"
|
||||
assert not page.select('.multiple-choice input')[1].has_attr('checked')
|
||||
assert not page.select('.multiple-choice input')[2].has_attr('checked')
|
||||
|
||||
|
||||
@pytest.mark.parametrize('template_mock, sender_data', [
|
||||
(
|
||||
mock_get_service_email_template,
|
||||
multiple_reply_to_email_addresses,
|
||||
),
|
||||
(
|
||||
mock_get_service_template,
|
||||
multiple_sms_senders
|
||||
)
|
||||
])
|
||||
def test_sender_session_is_present_after_selected(
|
||||
logged_in_client,
|
||||
service_one,
|
||||
fake_uuid,
|
||||
mock_get_service_email_template,
|
||||
multiple_reply_to_email_addresses
|
||||
template_mock,
|
||||
sender_data,
|
||||
mocker
|
||||
):
|
||||
template_mock(mocker)
|
||||
sender_data(mocker)
|
||||
logged_in_client.post(
|
||||
url_for('.set_sender', service_id=service_one['id'], template_id=fake_uuid),
|
||||
data={'sender': '1234'}
|
||||
@@ -107,6 +186,10 @@ def test_sender_session_is_present_after_selected(
|
||||
mock_get_service_email_template,
|
||||
no_reply_to_email_addresses,
|
||||
),
|
||||
(
|
||||
mock_get_service_template,
|
||||
no_sms_senders
|
||||
)
|
||||
])
|
||||
def test_set_sender_redirects_if_no_sender_data(
|
||||
logged_in_client,
|
||||
|
||||
@@ -761,7 +761,7 @@ def test_api_ids_dont_show_on_option_pages_with_a_single_sender(
|
||||
), (
|
||||
'main.service_sms_senders',
|
||||
multiple_sms_senders,
|
||||
'Example (default and recieves replies) Change 1234',
|
||||
'Example (default and receives replies) Change 1234',
|
||||
'Example 2 Change 5678',
|
||||
'Example 3 Change 9457'
|
||||
),
|
||||
|
||||
@@ -335,13 +335,14 @@ def test_should_not_allow_creation_of_a_template_without_correct_permission(
|
||||
|
||||
@pytest.mark.parametrize('fixture, expected_status_code', [
|
||||
(mock_get_service_email_template, 200),
|
||||
(mock_get_service_template, 302),
|
||||
(mock_get_service_template, 200),
|
||||
(mock_get_service_letter_template, 302),
|
||||
])
|
||||
def test_should_redirect_to_one_off_if_template_type_is_not_email(
|
||||
def test_should_redirect_to_one_off_if_template_type_is_letter(
|
||||
logged_in_client,
|
||||
active_user_with_permissions,
|
||||
multiple_reply_to_email_addresses,
|
||||
multiple_sms_senders,
|
||||
service_one,
|
||||
fake_uuid,
|
||||
mocker,
|
||||
|
||||
Reference in New Issue
Block a user