Allow updates to the SMS prefix setting

This was already working, but adds a test to make sure that it works as
requested.

Still to do:
- migrate all services to having `True` or `False` in this column
- make column non-nullable
- start rejecting `None` as a possible value for this update
This commit is contained in:
Chris Hill-Scott
2017-11-03 14:07:21 +00:00
parent ab583c0bc6
commit fbea774302

View File

@@ -1592,6 +1592,39 @@ def test_prefixing_messages_based_on_sms_sender(
assert service['prefix_sms_with_service_name'] == should_prefix
@pytest.mark.parametrize('posted_value, stored_value, returned_value', [
(True, True, True),
(False, False, False),
(None, None, True),
])
def test_set_sms_prefixing_for_service(
client,
sample_service,
posted_value,
stored_value,
returned_value,
):
data = {
'prefix_sms': posted_value,
}
auth_header = create_authorization_header()
resp = client.post(
'/service/{}'.format(sample_service.id),
data=json.dumps(data),
headers=[('Content-Type', 'application/json'), auth_header]
)
result = json.loads(resp.get_data(as_text=True))
assert resp.status_code == 200
assert result['data']['prefix_sms'] == stored_value
# This derived value will go away eventually, once weve done a migration
assert result['data']['prefix_sms_with_service_name'] == returned_value
# The derived value is dependent on the service sending from the platforms
# default from number
assert result['data']['sms_sender'] == current_app.config['FROM_NUMBER']
@pytest.mark.parametrize('today_only,stats', [
('False', {'requested': 2, 'delivered': 1, 'failed': 0}),
('True', {'requested': 1, 'delivered': 0, 'failed': 0})