Store anticipated volumes as integers

This will make it easier to do analysis on the data. Almost all users
are submitting data in a numerical format now anyway, because we ask the
question in a sensible way.
This commit is contained in:
Chris Hill-Scott
2019-02-14 11:32:50 +00:00
parent 17e32fa5f6
commit ecdf076506
3 changed files with 12 additions and 9 deletions

View File

@@ -361,9 +361,9 @@ class Service(db.Model, Versioned):
crown = db.Column(db.Boolean, index=False, nullable=False, default=True)
rate_limit = db.Column(db.Integer, index=False, nullable=False, default=3000)
contact_link = db.Column(db.String(255), nullable=True, unique=False)
volume_sms = db.Column(db.String(255), nullable=True, unique=False)
volume_email = db.Column(db.String(255), nullable=True, unique=False)
volume_letter = db.Column(db.String(255), nullable=True, unique=False)
volume_sms = db.Column(db.Integer(), nullable=True, unique=False)
volume_email = db.Column(db.Integer(), nullable=True, unique=False)
volume_letter = db.Column(db.Integer(), nullable=True, unique=False)
organisation = db.relationship(
'Organisation',

View File

@@ -22,7 +22,7 @@ TABLES_AND_CHANNELS = product(
def upgrade():
for table, channel in TABLES_AND_CHANNELS:
op.add_column(table, sa.Column(channel, sa.String(length=255), nullable=True))
op.add_column(table, sa.Column(channel, sa.Integer(), nullable=True))
def downgrade():

View File

@@ -620,15 +620,18 @@ def test_update_service_sets_crown(client, sample_service, org_type, expected):
'volume_sms',
'volume_letter',
))
@pytest.mark.parametrize('value', (
'ABC123',
None,
@pytest.mark.parametrize('value, expected_status, expected_persisted', (
(1234, 200, 1234),
(None, 200, None),
('Aa', 400, None),
))
def test_update_service_sets_volumes(
admin_request,
sample_service,
field,
value,
expected_status,
expected_persisted,
):
admin_request.post(
'service.update_service',
@@ -636,9 +639,9 @@ def test_update_service_sets_volumes(
_data={
field: value,
},
_expected_status=200,
_expected_status=expected_status,
)
assert getattr(sample_service, field) == value
assert getattr(sample_service, field) == expected_persisted
@pytest.fixture(scope='function')