Skip to content

Commit 1c25877

Browse files
committed
VED-740: fix occurrence date time microseconds via parseobj
1 parent 770dd5a commit 1c25877

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

backend/src/models/utils/generic_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ def form_json(response, _elements, identifier, baseurl):
169169
resource["meta"] = meta
170170

171171
entry = BundleEntry(fullUrl=f"{baseurl}/{response['id']}",
172-
resource=Immunization.construct(**resource),
172+
resource=Immunization.construct(**resource) if _elements else Immunization.parse_obj(resource),
173173
search=BundleEntrySearch.construct(mode="match") if not _elements else None,
174174
)
175175

backend/tests/utils/test_generic_utils.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
"""Generic utils for tests"""
22

3-
3+
import json
44
import unittest
55
from src.models.utils.generic_utils import form_json
6+
from tests.utils.generic_utils import load_json_data
67

78

89
class TestFormJson(unittest.TestCase):
910
def setUp(self):
1011
self.baseurl = "https://api.service.nhs.uk/immunisation-fhir-api/Immunization"
1112
self.identifier = "https://supplierABC/identifiers/vacc|f10b59b3-fc73-4616-99c9-9e882ab31184"
1213
self.response = {
13-
"resource": {"resourceType": "Immunization", "id": "f10b59b3-fc73-4616-99c9-9e882ab31184", "status": "completed"},
14+
"resource": load_json_data("completed_covid19_immunization_event.json"),
1415
"id": "f10b59b3-fc73-4616-99c9-9e882ab31184",
1516
"version": 2,
1617
}
1718

19+
self.maxDiff = None
20+
1821
def test_no_response(self):
1922
out = form_json(None, None, self.identifier, self.baseurl)
2023
self.assertEqual(out["resourceType"], "Bundle")
@@ -27,7 +30,7 @@ def test_identifier_only_returns_full_resource(self):
2730
out = form_json(self.response, None, self.identifier, self.baseurl)
2831
self.assertEqual(out["total"], 1)
2932
self.assertEqual(out["link"][0]["url"], f"{self.baseurl}?identifier={self.identifier}")
30-
self.assertDictEqual(out["entry"][0]["resource"], self.response["resource"])
33+
self.assertDictEqual(json.loads(out["entry"][0]["resource"]), json.loads(self.response["resource"]))
3134
self.assertEqual(out["entry"][0]["fullUrl"], f"{self.baseurl}/{self.response['id']}")
3235

3336
def test_identifier_with_id_element_truncates_to_id(self):

0 commit comments

Comments
 (0)