Skip to content

Commit af54002

Browse files
committed
improve coverage: add test for lookup
1 parent 44aaa0a commit af54002

File tree

3 files changed

+46
-6
lines changed

3 files changed

+46
-6
lines changed

lambdas/shared/src/common/validator/lookup_expressions/key_data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def __init__(self):
3535
"420254004",
3636
]
3737

38-
self.route = [
38+
self.route: list[str] = [
3939
"54471007",
4040
"372449004",
4141
"372450004",

lambdas/shared/tests/test_common/validator/test_application_fhir.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# Test application file
22
import json
3-
import os
43
import time
54
import unittest
65
from pathlib import Path
@@ -23,10 +22,6 @@ def test_validation(self):
2322
with open(self.schemaFilePath) as JSON:
2423
SchemaFile = json.load(JSON)
2524

26-
print("Current working directory:", os.getcwd())
27-
print("Test file directory:", Path(__file__).parent)
28-
print("Schema file exists:", (Path(__file__).parent / "schemas" / "test_schema.json").exists())
29-
3025
validator = Validator(SchemaFile) # FHIR File Path not needed
3126
error_list = validator.validate_fhir(self.FHIRFilePath, True, True, True)
3227
error_report = validator.build_error_report("25a8cc4d-1875-4191-ac6d-2d63a0ebc64b") # include eventID if known
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import unittest
2+
3+
from common.validator.lookup_expressions.key_data import KeyData
4+
5+
6+
class TestKeyData(unittest.TestCase):
7+
def setUp(self):
8+
self.kd = KeyData()
9+
10+
def test_site_valid_code(self):
11+
self.assertTrue(self.kd.findKey("Site", "368208006"))
12+
13+
def test_site_invalid_code(self):
14+
self.assertFalse(self.kd.findKey("Site", "not_a_code"))
15+
16+
def test_route_valid_code(self):
17+
# pick one known code from route list
18+
self.assertTrue(self.kd.findKey("Route", "54471007"))
19+
20+
def test_route_invalid_code(self):
21+
self.assertFalse(self.kd.findKey("Route", "000000"))
22+
23+
def test_procedure_valid_code(self):
24+
self.assertTrue(self.kd.findKey("Procedure", "956951000000104"))
25+
26+
def test_procedure_invalid_code(self):
27+
self.assertFalse(self.kd.findKey("Procedure", "956951000000105"))
28+
29+
def test_organisation_valid_code(self):
30+
self.assertTrue(self.kd.findKey("Organisation", "RJ1"))
31+
32+
def test_organisation_invalid_code(self):
33+
self.assertFalse(self.kd.findKey("Organisation", "RJX"))
34+
35+
def test_unknown_key_source_returns_false(self):
36+
self.assertFalse(self.kd.findKey("Unknown", "anything"))
37+
38+
def test_non_string_inputs_are_handled(self):
39+
# ensure method is resilient and returns False for non-string without raising
40+
self.assertFalse(self.kd.findKey("Site", None))
41+
self.assertFalse(self.kd.findKey("Route", 12345))
42+
43+
44+
if __name__ == "__main__":
45+
unittest.main()

0 commit comments

Comments
 (0)