diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index 56fe13772..97cf75fad 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -270,7 +270,7 @@ def service_set_sms_sender(service_id): form = ServiceSmsSender() if form.validate_on_submit(): set_inbound_sms = request.args.get('set_inbound_sms', False) - if set_inbound_sms: + if set_inbound_sms == 'True': permissions = current_service['permissions'] if 'inbound_sms' in permissions: permissions.remove('inbound_sms') diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py index 73de6916c..4d9ba1814 100644 --- a/tests/app/main/views/test_service_settings.py +++ b/tests/app/main/views/test_service_settings.py @@ -681,6 +681,30 @@ def test_turn_inbound_sms_off( assert app.current_service['permissions'] == [] +def test_set_text_message_sender_and_not_inbound_sms( + logged_in_client, + service_one, + mock_get_letter_organisations, + mocker, +): + service_one['permissions'] = [] + update_service_mock = mocker.patch('app.service_api_client.update_service', + return_value=service_one) + + data = {"sms_sender": "elevenchars"} + response = logged_in_client.post(url_for('main.service_set_sms_sender', service_id=service_one['id'], + set_inbound_sms=False), + data=data, + follow_redirects=True) + assert response.status_code == 200 + + update_service_mock.assert_called_with( + service_one['id'], + sms_sender="elevenchars" + ) + assert app.current_service['permissions'] == [] + + @pytest.mark.parametrize('content, expected_error', [ ("", "Can’t be empty"), ("twelvecharss", "Enter 11 characters or fewer"),