diff --git a/app/models.py b/app/models.py index adb90b43b..d4e2da9f0 100644 --- a/app/models.py +++ b/app/models.py @@ -326,11 +326,11 @@ class Domain(db.Model): ORGANISATION_TYPES = [ - "central", "local", "nhs_central", "nhs_local", "emergency_service", "school_or_college", "other", + "central", "local", "nhs_central", "nhs_local", "gp", "emergency_service", "school_or_college", "other", ] CROWN_ORGANISATION_TYPES = ["nhs_central"] -NON_CROWN_ORGANISATION_TYPES = ["local", "nhs_local", "emergency_service", "school_or_college"] +NON_CROWN_ORGANISATION_TYPES = ["local", "nhs_local", "gp", "emergency_service", "school_or_college"] class OrganisationTypes(db.Model): diff --git a/migrations/versions/0305_add_gp_org_type.py b/migrations/versions/0305_add_gp_org_type.py new file mode 100644 index 000000000..3ac230683 --- /dev/null +++ b/migrations/versions/0305_add_gp_org_type.py @@ -0,0 +1,42 @@ +import os + +""" + +Revision ID: 0305_add_gp_org_type +Revises: 0304_remove_org_to_service +Create Date: 2019-07-24 16:18:27.467361 + +""" +from alembic import op + + +revision = '0305_add_gp_org_type' +down_revision = '0304_remove_org_to_service' +GP_ORG_TYPE_NAME = 'gp' + + +def upgrade(): + op.execute(""" + INSERT INTO + organisation_types + (name, is_crown, annual_free_sms_fragment_limit) + VALUES + ('{}', false, 25000) + """.format(GP_ORG_TYPE_NAME)) + + +def downgrade(): + op.execute(""" + UPDATE + organisation + SET + organisation_type = 'nhs_local' + WHERE + organisation_type = '{}' + """.format(GP_ORG_TYPE_NAME)) + op.execute(""" + DELETE FROM + organisation_types + WHERE + name = '{}' + """.format(GP_ORG_TYPE_NAME)) diff --git a/tests/app/organisation/test_rest.py b/tests/app/organisation/test_rest.py index b6d0f0341..5dbd6cd67 100644 --- a/tests/app/organisation/test_rest.py +++ b/tests/app/organisation/test_rest.py @@ -204,7 +204,10 @@ def test_post_create_organisation_existing_name_raises_400(admin_request, sample 'name': 'Service name', 'crown': False, 'organisation_type': 'foo', - }, 'organisation_type foo is not one of [central, local, nhs_central, nhs_local, emergency_service, school_or_college, other]'), # noqa + }, ( + 'organisation_type foo is not one of ' + '[central, local, nhs_central, nhs_local, gp, emergency_service, school_or_college, other]' + )), )) def test_post_create_organisation_with_missing_data_gives_validation_error( admin_request,