Merge pull request #1372 from alphagov/sms-prefix-non-nullable

Make SMS prefix setting non-nullable
This commit is contained in:
Chris Hill-Scott
2017-11-20 10:15:07 +00:00
committed by GitHub
4 changed files with 66 additions and 15 deletions

View File

@@ -992,7 +992,7 @@ def notify_service(notify_db, notify_db_session):
'active': True,
'restricted': False,
'email_from': 'notify.service',
'created_by': user
'created_by': user,
}
service = Service(**data)
db.session.add(service)

View File

@@ -68,7 +68,7 @@ def create_service(
research_mode=False,
active=True,
email_from=None,
prefix_sms=None,
prefix_sms=True,
):
service = Service(
name=service_name,

View File

@@ -159,6 +159,7 @@ def test_get_service_by_id(client, sample_service):
assert json_resp['data']['dvla_organisation'] == '001'
assert json_resp['data']['sms_sender'] == current_app.config['FROM_NUMBER']
assert json_resp['data']['prefix_sms_with_service_name'] is True
assert json_resp['data']['prefix_sms'] is True
def test_get_service_by_id_returns_free_sms_limit(client, sample_service):
@@ -1551,28 +1552,20 @@ def test_prefixing_messages_based_on_prefix_sms(
@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(
admin_request,
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 = admin_request.post(
'service.update_service',
service_id=sample_service.id,
_data={'prefix_sms': posted_value},
)
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
@@ -1581,6 +1574,18 @@ def test_set_sms_prefixing_for_service(
assert result['data']['sms_sender'] == current_app.config['FROM_NUMBER']
def test_set_sms_prefixing_for_service_cant_be_none(
admin_request,
sample_service,
):
admin_request.post(
'service.update_service',
service_id=sample_service.id,
_data={'prefix_sms': None},
_expected_status=500,
)
@pytest.mark.parametrize('today_only,stats', [
('False', {'requested': 2, 'delivered': 1, 'failed': 0}),
('True', {'requested': 1, 'delivered': 0, 'failed': 0})