diff --git a/compendium_v2/routes/policy.py b/compendium_v2/routes/policy.py index 72d3f3719ef924759423310933cba798d323037f..83e464899797e06e7214ebc516457d4db90928a2 100644 --- a/compendium_v2/routes/policy.py +++ b/compendium_v2/routes/policy.py @@ -32,7 +32,7 @@ POLICY_RESPONSE_SCHEMA = { }, 'type': 'array', - 'items': {'$ref': '#/definitions/funding'} + 'items': {'$ref': '#/definitions/policy'} } diff --git a/test/conftest.py b/test/conftest.py index be9c16e45a59ffa6ac3a593154d3e3dd03a61ac7..4e0e74303800665868c55ad0f772f6fb153f635b 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -237,3 +237,30 @@ def test_ec_project_data(app): db.session.add(model.ECProject(nren=nren, year=year, project=project)) db.session.commit() + + +@pytest.fixture +def test_policy_data(app): + with app.app_context(): + nrens_and_years = [('nren1', 2019), ('nren1', 2020), ('nren1', 2021), ('nren2', 2019), ('nren2', 2021)] + nren_names = set(ny[0] for ny in nrens_and_years) + + nren_dict = {nren_name: model.NREN(name=nren_name) for nren_name in nren_names} + db.session.add_all(nren_dict.values()) + + for (nren_name, year) in nrens_and_years: + nren = nren_dict[nren_name] + + db.session.add(model.Policy( + nren=nren, + year=year, + strategic_plan='a strategy', + environmental='a policy', + equal_opportunity='another policy', + connectivity='', + acceptable_use='', + privacy_notice='', + data_protection='' + )) + + db.session.commit() diff --git a/test/test_policies.py b/test/test_policies.py new file mode 100644 index 0000000000000000000000000000000000000000..efa70185d36192a0d3eea6182af667a43d35bbc5 --- /dev/null +++ b/test/test_policies.py @@ -0,0 +1,13 @@ +import json +import jsonschema +from compendium_v2.routes.policy import POLICY_RESPONSE_SCHEMA + + +def test_ec_project_response(client, test_policy_data): + rv = client.get( + '/api/policy/', + headers={'Accept': ['application/json']}) + assert rv.status_code == 200 + result = json.loads(rv.data.decode('utf-8')) + jsonschema.validate(result, POLICY_RESPONSE_SCHEMA) + assert result