diff --git a/app/main/forms.py b/app/main/forms.py index 70274168e..c8c76c816 100644 --- a/app/main/forms.py +++ b/app/main/forms.py @@ -1942,13 +1942,7 @@ class CallbackForm(StripWhitespaceForm): class SMSPrefixForm(StripWhitespaceForm): - enabled = RadioField( - '', - choices=[ - ('on', 'On'), - ('off', 'Off'), - ], - ) + enabled = OnOffField('') # label is assigned on instantiation def get_placeholder_form_instance( diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index 3d690bf2f..2fbd12b23 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -630,15 +630,13 @@ def service_set_inbound_number(service_id): @user_has_permissions('manage_service') def service_set_sms_prefix(service_id): - form = SMSPrefixForm(enabled=( - 'on' if current_service.prefix_sms else 'off' - )) + form = SMSPrefixForm(enabled=current_service.prefix_sms) form.enabled.label.text = 'Start all text messages with ‘{}:’'.format(current_service.name) if form.validate_on_submit(): current_service.update( - prefix_sms=(form.enabled.data == 'on') + prefix_sms=form.enabled.data ) return redirect(url_for('.service_settings', service_id=service_id)) diff --git a/app/templates/views/service-settings/sms-prefix.html b/app/templates/views/service-settings/sms-prefix.html index 02b6daa04..718906a98 100644 --- a/app/templates/views/service-settings/sms-prefix.html +++ b/app/templates/views/service-settings/sms-prefix.html @@ -1,5 +1,4 @@ {% extends "withnav_template.html" %} -{% from "components/radios.html" import radios %} {% from "components/page-header.html" import page_header %} {% from "components/page-footer.html" import page_footer %} {% from "components/form.html" import form_wrapper %} @@ -16,7 +15,7 @@ ) }} {% call form_wrapper() %} - {{ radios(form.enabled) }} + {{ form.enabled }} {{ page_footer('Save') }} {% endcall %} diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py index 496909185..8029f0add 100644 --- a/tests/app/main/views/test_service_settings.py +++ b/tests/app/main/views/test_service_settings.py @@ -4450,22 +4450,21 @@ def test_show_sms_prefixing_setting_page( ) radios = page.select('input[type=radio]') assert len(radios) == 2 - assert radios[0]['value'] == 'on' + assert radios[0]['value'] == 'True' assert radios[0]['checked'] == '' - assert radios[1]['value'] == 'off' + assert radios[1]['value'] == 'False' with pytest.raises(KeyError): assert radios[1]['checked'] -@pytest.mark.parametrize('post_value, expected_api_argument', [ - ('on', True), - ('off', False), +@pytest.mark.parametrize('post_value', [ + True, + False, ]) def test_updates_sms_prefixing( client_request, mock_update_service, post_value, - expected_api_argument, ): client_request.post( 'main.service_set_sms_prefix', service_id=SERVICE_ONE_ID, @@ -4477,7 +4476,7 @@ def test_updates_sms_prefixing( ) mock_update_service.assert_called_once_with( SERVICE_ONE_ID, - prefix_sms=expected_api_argument, + prefix_sms=post_value, )