summaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2023-03-21 17:32:48 +0100
committerPaul-Christian Volkmer2023-03-21 17:34:46 +0100
commit28b834d922f21a320fd02274274298bf894ac6a9 (patch)
treeffb8216c075205d35e472517ee1aaa5a511749fa /src/test/java
parent9534fec4eee2a3017dca585535853d0252305515 (diff)
Mapping für Formular "MR.MTB_Anmeldung" zu Therapieplan-Protokollauszug hinzugefügt
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/DNPM/services/mtb/DefaultMtbServiceTest.java27
-rw-r--r--src/test/java/DNPM/services/mtb/MrMtbAnmeldungToProtocolMapperTest.java87
-rw-r--r--src/test/java/DNPM/services/mtb/MtbServiceTest.java47
-rw-r--r--src/test/java/DNPM/services/mtb/OsTumorkonferenzToProtocolMapperTest.java46
-rw-r--r--src/test/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapperTest.java46
5 files changed, 202 insertions, 51 deletions
diff --git a/src/test/java/DNPM/services/mtb/DefaultMtbServiceTest.java b/src/test/java/DNPM/services/mtb/DefaultMtbServiceTest.java
index f730c85..f5bc374 100644
--- a/src/test/java/DNPM/services/mtb/DefaultMtbServiceTest.java
+++ b/src/test/java/DNPM/services/mtb/DefaultMtbServiceTest.java
@@ -6,13 +6,13 @@ import de.itc.onkostar.api.Procedure;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import java.time.Instant;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
import static org.assertj.core.api.Assertions.assertThat;
@@ -28,7 +28,26 @@ public class DefaultMtbServiceTest {
@Mock IOnkostarApi onkostarApi
) {
this.onkostarApi = onkostarApi;
- this.service = new DefaultMtbService();
+ this.service = new DefaultMtbService(onkostarApi);
+ }
+
+ private static Set<Map.Entry<String, Class<? extends ProcedureToProtocolMapper>>> expectedMappings() {
+ return Map.ofEntries(
+ Map.entry("OS.Tumorkonferenz", OsTumorkonferenzToProtocolMapper.class),
+ Map.entry("OS.Tumorkonferenz.VarianteUKW", OsTumorkonferenzVarianteUkwToProtocolMapper.class),
+ Map.entry("MR.MTB_Anmeldung", MrMtbAnmeldungToProtocolMapper.class)
+ ).entrySet();
+ }
+
+ @ParameterizedTest
+ @MethodSource("expectedMappings")
+ void testShouldMapFormNameToMapper(Map.Entry<String, Class<?>> expectedMapping) {
+ var procedure = new Procedure(onkostarApi);
+ procedure.setFormName(expectedMapping.getKey());
+
+ var actual = service.procedureToProtocolMapper(procedure);
+
+ assertThat(actual).isExactlyInstanceOf(expectedMapping.getValue());
}
@Test
diff --git a/src/test/java/DNPM/services/mtb/MrMtbAnmeldungToProtocolMapperTest.java b/src/test/java/DNPM/services/mtb/MrMtbAnmeldungToProtocolMapperTest.java
new file mode 100644
index 0000000..479549c
--- /dev/null
+++ b/src/test/java/DNPM/services/mtb/MrMtbAnmeldungToProtocolMapperTest.java
@@ -0,0 +1,87 @@
+package DNPM.services.mtb;
+
+import de.itc.onkostar.api.IOnkostarApi;
+import de.itc.onkostar.api.Item;
+import de.itc.onkostar.api.Procedure;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import java.util.Set;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doAnswer;
+
+@ExtendWith(MockitoExtension.class)
+public class MrMtbAnmeldungToProtocolMapperTest {
+
+ private IOnkostarApi onkostarApi;
+
+ private MrMtbAnmeldungToProtocolMapper mapper;
+
+ @BeforeEach
+ void setup(
+ @Mock IOnkostarApi onkostarApi
+ ) {
+ this.onkostarApi = onkostarApi;
+ this.mapper = new MrMtbAnmeldungToProtocolMapper(onkostarApi);
+ }
+
+ @Test
+ void testShouldMapCompletedForm() {
+ var anmeldung = new Procedure(onkostarApi);
+ anmeldung.setId(1);
+ anmeldung.setFormName("MR.MTB_Anmeldung");
+ anmeldung.setValue("Fragestellung", new Item("Fragestellung", "Frage?"));
+ anmeldung.setValue("Empfehlung", new Item("Empfehlung", 2));
+
+ var empfehlung = new Procedure(onkostarApi);
+ empfehlung.setId(2);
+ empfehlung.setFormName("MR.MTB_Empfehlung");
+
+ var einzelempfehlung1 = new Procedure(onkostarApi);
+ einzelempfehlung1.setId(10);
+ einzelempfehlung1.setFormName("MR.MTB_Einzelempfehlung");
+ einzelempfehlung1.setValue("Prioritaet", new Item("Empfehlungsprio", 1));
+ einzelempfehlung1.setValue("Empfehlung", new Item("Empfehlung", "Empfehlung1"));
+
+ var einzelempfehlung2 = new Procedure(onkostarApi);
+ einzelempfehlung2.setId(20);
+ einzelempfehlung2.setFormName("MR.MTB_Einzelempfehlung");
+ einzelempfehlung2.setValue("Prioritaet", new Item("Empfehlungsprio", 2));
+ einzelempfehlung2.setValue("Empfehlung", new Item("Empfehlung", "Empfehlung2"));
+
+ doAnswer(invocationOnMock -> {
+ var procedureId = invocationOnMock.getArgument(0, Integer.class);
+ if (2 == procedureId) {
+ return empfehlung;
+ } else if (10 == procedureId) {
+ return einzelempfehlung1;
+ } else if (20 == procedureId) {
+ return einzelempfehlung2;
+ }
+ return null;
+ }).when(onkostarApi).getProcedure(anyInt());
+
+ doAnswer(invocationOnMock -> {
+ var procedureId = invocationOnMock.getArgument(0, Integer.class);
+ if (2 == procedureId) {
+ return Set.of(einzelempfehlung1, einzelempfehlung2);
+ }
+ return null;
+ }).when(onkostarApi).getSubprocedures(anyInt());
+
+ var actual = this.mapper.apply(anmeldung);
+
+ assertThat(actual).isPresent();
+ assertThat(actual.get()).isEqualTo(
+ "Fragestellung:\nFrage?\n\n" +
+ "Empfehlung:\nEmpfehlung1\n\n" +
+ "Empfehlung:\nEmpfehlung2"
+ );
+ }
+
+}
diff --git a/src/test/java/DNPM/services/mtb/MtbServiceTest.java b/src/test/java/DNPM/services/mtb/MtbServiceTest.java
deleted file mode 100644
index eca9b1a..0000000
--- a/src/test/java/DNPM/services/mtb/MtbServiceTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package DNPM.services.mtb;
-
-import de.itc.onkostar.api.IOnkostarApi;
-import de.itc.onkostar.api.Procedure;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.MethodSource;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-
-import java.util.Map;
-import java.util.Set;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-@ExtendWith(MockitoExtension.class)
-public class MtbServiceTest {
-
- private IOnkostarApi onkostarApi;
-
- @BeforeEach
- void setup(
- @Mock IOnkostarApi onkostarApi
- ) {
- this.onkostarApi = onkostarApi;
- }
-
- private static Set<Map.Entry<String, Class<? extends ProcedureToProtocolMapper>>> expectedMappings() {
- return Map.ofEntries(
- Map.entry("OS.Tumorkonferenz", OsTumorkonferenzToProtocolMapper.class),
- Map.entry("OS.Tumorkonferenz.VarianteUKW", OsTumorkonferenzVarianteUkwToProtocolMapper.class)
- ).entrySet();
- }
-
- @ParameterizedTest
- @MethodSource("expectedMappings")
- void testShouldMapFormNameToMapper(Map.Entry<String, Class<?>> expectedMapping) {
- var procedure = new Procedure(onkostarApi);
- procedure.setFormName(expectedMapping.getKey());
-
- var actual = MtbService.procedureToProtocolMapper(procedure);
-
- assertThat(actual).isExactlyInstanceOf(expectedMapping.getValue());
- }
-
-}
diff --git a/src/test/java/DNPM/services/mtb/OsTumorkonferenzToProtocolMapperTest.java b/src/test/java/DNPM/services/mtb/OsTumorkonferenzToProtocolMapperTest.java
new file mode 100644
index 0000000..639edac
--- /dev/null
+++ b/src/test/java/DNPM/services/mtb/OsTumorkonferenzToProtocolMapperTest.java
@@ -0,0 +1,46 @@
+package DNPM.services.mtb;
+
+import de.itc.onkostar.api.IOnkostarApi;
+import de.itc.onkostar.api.Item;
+import de.itc.onkostar.api.Procedure;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import java.time.Instant;
+import java.util.Date;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+@ExtendWith(MockitoExtension.class)
+public class OsTumorkonferenzToProtocolMapperTest {
+
+ private IOnkostarApi onkostarApi;
+
+ private OsTumorkonferenzToProtocolMapper mapper;
+
+ @BeforeEach
+ void setup(
+ @Mock IOnkostarApi onkostarApi
+ ) {
+ this.onkostarApi = onkostarApi;
+ this.mapper = new OsTumorkonferenzToProtocolMapper();
+ }
+
+ @Test
+ void testShouldReturnMtbProtocolForDefaultImplementation() {
+ var procedure = new Procedure(onkostarApi);
+ procedure.setFormName("OS.Tumorkonferenz");
+ procedure.setStartDate(Date.from(Instant.parse("2023-01-01T00:00:00Z")));
+ procedure.setValue("Fragestellung", new Item("Fragestellung", "Test ok?"));
+ procedure.setValue("Empfehlung", new Item("Empfehlung", "Rerun Test if not ok!"));
+
+ var actual = mapper.apply(procedure);
+
+ assertThat(actual).isPresent();
+ assertThat(actual.get()).isEqualTo("Fragestellung:\nTest ok?\n\nEmpfehlung:\nRerun Test if not ok!");
+ }
+
+}
diff --git a/src/test/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapperTest.java b/src/test/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapperTest.java
new file mode 100644
index 0000000..03f151c
--- /dev/null
+++ b/src/test/java/DNPM/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapperTest.java
@@ -0,0 +1,46 @@
+package DNPM.services.mtb;
+
+import de.itc.onkostar.api.IOnkostarApi;
+import de.itc.onkostar.api.Item;
+import de.itc.onkostar.api.Procedure;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import java.time.Instant;
+import java.util.Date;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+@ExtendWith(MockitoExtension.class)
+public class OsTumorkonferenzVarianteUkwToProtocolMapperTest {
+
+ private IOnkostarApi onkostarApi;
+
+ private OsTumorkonferenzVarianteUkwToProtocolMapper mapper;
+
+ @BeforeEach
+ void setup(
+ @Mock IOnkostarApi onkostarApi
+ ) {
+ this.onkostarApi = onkostarApi;
+ this.mapper = new OsTumorkonferenzVarianteUkwToProtocolMapper();
+ }
+
+ @Test
+ void testShouldReturnMtbProtocolForDefaultImplementation() {
+ var procedure = new Procedure(onkostarApi);
+ procedure.setFormName("OS.Tumorkonferenz.VarianteUKW");
+ procedure.setStartDate(Date.from(Instant.parse("2023-01-01T00:00:00Z")));
+ procedure.setValue("Fragestellung", new Item("Fragestellung", "Test ok?"));
+ procedure.setValue("Empfehlung", new Item("Empfehlung", "Rerun Test if not ok!"));
+
+ var actual = mapper.apply(procedure);
+
+ assertThat(actual).isPresent();
+ assertThat(actual.get()).isEqualTo("Fragestellung:\nTest ok?\n\nEmpfehlung:\nRerun Test if not ok!");
+ }
+
+}