From 127cb2ae103239fcb95ce1941958f716e7db06f8 Mon Sep 17 00:00:00 2001 From: pgwilliams Date: Mon, 17 Oct 2022 15:38:25 +0100 Subject: [PATCH] MAINT-1947 Unit test for nested FHIR ValueSet --- .../fhir/services/ValueSetProviderEclTest.java | 18 ++++++++++++++++++ .../exampleVS_incude_implicit_VS.json | 16 ++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/test/resources/dummy-fhir-content/exampleVS_incude_implicit_VS.json diff --git a/src/test/java/org/snomed/snowstorm/fhir/services/ValueSetProviderEclTest.java b/src/test/java/org/snomed/snowstorm/fhir/services/ValueSetProviderEclTest.java index 1ec1510fe..7f0d41373 100644 --- a/src/test/java/org/snomed/snowstorm/fhir/services/ValueSetProviderEclTest.java +++ b/src/test/java/org/snomed/snowstorm/fhir/services/ValueSetProviderEclTest.java @@ -159,6 +159,24 @@ void testExplicitValueSetExpansion() { restTemplate.delete(baseUrl + "/reason-for-encounter"); } + @Test + void testExplicitNestedValueSetExpansion() { + ClassLoader classloader = Thread.currentThread().getContextClassLoader(); + InputStream is = classloader.getResourceAsStream("dummy-fhir-content/exampleVS_incude_implicit_VS.json"); + assertNotNull(is); + ValueSet exampleVS = fhirJsonParser.parseResource(ValueSet.class, is); + String vsJson = fhirJsonParser.encodeResourceToString(exampleVS); + storeVs("test-nested-vs", vsJson); + + //Now expand that ValueSet we just saved + String url = baseUrl + "/test-nested-vs/$expand"; + ResponseEntity response = restTemplate.getForEntity(url, String.class); + ValueSet savedVS = fhirJsonParser.parseResource(ValueSet.class, response.getBody()); + + //10 Concepts on MAIN + assertEquals(10, savedVS.getExpansion().getTotal()); + restTemplate.delete(baseUrl + "/test-nested-vs"); + } @Test void testECLWithUnpublishedVersion() throws FHIROperationException { //Asking for 5 at a time, expect 13 Total - 10 on MAIN + 3 in the sample module + 1 Root concept diff --git a/src/test/resources/dummy-fhir-content/exampleVS_incude_implicit_VS.json b/src/test/resources/dummy-fhir-content/exampleVS_incude_implicit_VS.json new file mode 100644 index 000000000..0411e5518 --- /dev/null +++ b/src/test/resources/dummy-fhir-content/exampleVS_incude_implicit_VS.json @@ -0,0 +1,16 @@ +{ + "resourceType": "ValueSet", + "status": "active", + "name": "Test nested VS", + "id": "test-nested-vs", + "title": "Test Nested VS", + "version": "0.0.1", + "url": "http://snomed.test/fhir/ValueSet/test-nested-vs", + "compose": { + "include": [ + { + "valueSet": "http://snomed.info/sct?fhir_vs=ecl/<138875005" + } + ] + } +} \ No newline at end of file