Skip to content

Commit 8c5d07d

Browse files
committed
VED-350: test not being picked, resolving coverage issues
1 parent 6a4c428 commit 8c5d07d

File tree

3 files changed

+72
-69
lines changed

3 files changed

+72
-69
lines changed

backend/src/models/utils/pre_validator_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ def for_date_time(field_value: str, field_location: str, strict_timezone: bool =
142142
continue
143143

144144
raise ValueError(error_message)
145-
145+
146146
@staticmethod
147147
def for_snomed_code(field_value: str, field_location: str):
148148
"""

backend/tests/utils/generic_utils.py

Lines changed: 0 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -92,71 +92,3 @@ def update_contained_resource_field(
9292
{field_to_update: update_value}
9393
)
9494
return json_data
95-
96-
97-
import unittest
98-
99-
# from your_module import form_json # <-- import your function
100-
101-
class TestFormJson(unittest.TestCase):
102-
def setUp(self):
103-
self.baseurl = "https://api.service.nhs.uk/immunisation-fhir-api/Immunization"
104-
self.identifier = "abc123"
105-
# matches your repo wrapper shape
106-
self.response = {
107-
"resource": {"resourceType": "Immunization", "id": "abc123", "status": "completed"},
108-
"id": "abc123",
109-
"version": 2,
110-
}
111-
112-
def test_no_response(self):
113-
out = form_json(None, None, self.identifier, self.baseurl)
114-
self.assertEqual(out["resourceType"], "Bundle")
115-
self.assertEqual(out["type"], "searchset")
116-
self.assertEqual(out["link"][0]["url"], f"{self.baseurl}?identifier={self.identifier}")
117-
self.assertEqual(out["entry"], [])
118-
self.assertEqual(out["total"], 0)
119-
120-
def test_identifier_only_returns_full_resource(self):
121-
out = form_json(self.response, None, self.identifier, self.baseurl)
122-
self.assertEqual(out["total"], 1)
123-
self.assertEqual(out["link"][0]["url"], f"{self.baseurl}?identifier={self.identifier}")
124-
self.assertDictEqual(out["entry"][0]["resource"], self.response["resource"])
125-
self.assertEqual(out["entry"][0]["fullUrl"], f"{self.baseurl}/{self.response['id']}")
126-
127-
def test_identifier_with_id_element_truncates_to_id(self):
128-
out = form_json(self.response, "id", self.identifier, self.baseurl)
129-
res = out["entry"][0]["resource"]
130-
self.assertEqual(out["total"], 1)
131-
self.assertEqual(out["link"][0]["url"], f"{self.baseurl}?identifier={self.identifier}&_elements=id")
132-
self.assertEqual(res["resourceType"], "Immunization")
133-
self.assertEqual(res["id"], self.response["id"])
134-
self.assertNotIn("meta", res)
135-
136-
def test_identifier_with_meta_element_truncates_to_meta(self):
137-
out = form_json(self.response, "meta", self.identifier, self.baseurl)
138-
res = out["entry"][0]["resource"]
139-
self.assertEqual(out["total"], 1)
140-
self.assertEqual(out["link"][0]["url"], f"{self.baseurl}?identifier={self.identifier}&_elements=meta")
141-
self.assertEqual(res["resourceType"], "Immunization")
142-
self.assertEqual(res["id"], self.response["id"])
143-
self.assertIn("meta", res)
144-
self.assertEqual(res["meta"]["versionId"], str(self.response["version"]))
145-
146-
def test_identifier_with_id_and_meta_elements_truncates_both(self):
147-
out = form_json(self.response, "id,meta", self.identifier, self.baseurl)
148-
res = out["entry"][0]["resource"]
149-
self.assertEqual(out["total"], 1)
150-
self.assertEqual(out["link"][0]["url"], f"{self.baseurl}?identifier={self.identifier}&_elements=id,meta")
151-
self.assertEqual(res["resourceType"], "Immunization")
152-
self.assertEqual(res["id"], self.response["id"])
153-
self.assertEqual(res["meta"]["versionId"], str(self.response["version"]))
154-
155-
def test_elements_whitespace_and_case_are_handled(self):
156-
out = form_json(self.response, " ID , MeTa ", self.identifier, self.baseurl)
157-
res = out["entry"][0]["resource"]
158-
self.assertEqual(res["id"], self.response["id"])
159-
self.assertEqual(res["meta"]["versionId"], str(self.response["version"]))
160-
161-
if __name__ == "__main__":
162-
unittest.main()
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
"""Generic utils for tests"""
2+
3+
4+
import unittest
5+
from src.models.utils.generic_utils import form_json
6+
7+
8+
class TestFormJson(unittest.TestCase):
9+
def setUp(self):
10+
self.baseurl = "https://api.service.nhs.uk/immunisation-fhir-api/Immunization"
11+
self.identifier = "https://supplierABC/identifiers/vacc|f10b59b3-fc73-4616-99c9-9e882ab31184"
12+
self.response = {
13+
"resource": {"resourceType": "Immunization", "id": "f10b59b3-fc73-4616-99c9-9e882ab31184", "status": "completed"},
14+
"id": "f10b59b3-fc73-4616-99c9-9e882ab31184",
15+
"version": 2,
16+
}
17+
18+
def test_no_response(self):
19+
out = form_json(None, None, self.identifier, self.baseurl)
20+
self.assertEqual(out["resourceType"], "Bundle")
21+
self.assertEqual(out["type"], "searchset")
22+
self.assertEqual(out["link"][0]["url"], f"{self.baseurl}?identifier={self.identifier}")
23+
self.assertEqual(out["entry"], [])
24+
self.assertEqual(out["total"], 0)
25+
26+
def test_identifier_only_returns_full_resource(self):
27+
out = form_json(self.response, None, self.identifier, self.baseurl)
28+
self.assertEqual(out["total"], 1)
29+
self.assertEqual(out["link"][0]["url"], f"{self.baseurl}?identifier={self.identifier}")
30+
self.assertDictEqual(out["entry"][0]["resource"], self.response["resource"])
31+
self.assertEqual(out["entry"][0]["fullUrl"], f"{self.baseurl}/{self.response['id']}")
32+
33+
def test_identifier_with_id_element_truncates_to_id(self):
34+
out = form_json(self.response, "id", self.identifier, self.baseurl)
35+
res = out["entry"][0]["resource"]
36+
self.assertEqual(out["total"], 1)
37+
self.assertEqual(out["link"][0]["url"], f"{self.baseurl}?identifier={self.identifier}&_elements=id")
38+
self.assertEqual(res["resourceType"], "Immunization")
39+
self.assertEqual(res["id"], self.response["id"])
40+
self.assertNotIn("meta", res)
41+
42+
def test_identifier_with_meta_element_truncates_to_meta(self):
43+
out = form_json(self.response, "meta", self.identifier, self.baseurl)
44+
res = out["entry"][0]["resource"]
45+
self.assertEqual(out["total"], 1)
46+
self.assertEqual(out["link"][0]["url"], f"{self.baseurl}?identifier={self.identifier}&_elements=meta")
47+
self.assertEqual(res["resourceType"], "Immunization")
48+
self.assertEqual(res["id"], self.response["id"])
49+
self.assertIn("meta", res)
50+
self.assertEqual(res["meta"]["versionId"], self.response["version"])
51+
52+
def test_identifier_with_id_and_meta_elements_truncates_both(self):
53+
out = form_json(self.response, "id,meta", self.identifier, self.baseurl)
54+
res = out["entry"][0]["resource"]
55+
self.assertEqual(out["total"], 1)
56+
self.assertEqual(out["link"][0]["url"], f"{self.baseurl}?identifier={self.identifier}&_elements=id,meta")
57+
self.assertEqual(res["resourceType"], "Immunization")
58+
self.assertEqual(res["id"], self.response["id"])
59+
self.assertIn("meta", res)
60+
self.assertEqual(res["meta"]["versionId"], self.response["version"])
61+
62+
def test_elements_whitespace_and_case_are_handled(self):
63+
raw_elements = " ID , MeTa "
64+
out = form_json(self.response, raw_elements, self.identifier, self.baseurl)
65+
res = out["entry"][0]["resource"]
66+
self.assertEqual(
67+
out["link"][0]["url"],
68+
f"{self.baseurl}?identifier={self.identifier}&_elements={raw_elements}"
69+
)
70+
self.assertEqual(res["id"], self.response["id"])
71+
self.assertEqual(res["meta"]["versionId"], self.response["version"])

0 commit comments

Comments
 (0)