summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzer.java62
-rw-r--r--src/main/java/dev/dnpm/oshelper/config/PluginConfiguration.java9
-rw-r--r--src/main/java/dev/dnpm/oshelper/services/mtb/DefaultMtbService.java90
-rw-r--r--src/main/java/dev/dnpm/oshelper/services/mtb/MtbService.java51
-rw-r--r--src/test/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzerTest.java61
-rw-r--r--src/test/java/dev/dnpm/oshelper/services/mtb/DefaultMtbServiceTest.java204
6 files changed, 8 insertions, 469 deletions
diff --git a/src/main/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzer.java b/src/main/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzer.java
index 50b8c20..85baf5f 100644
--- a/src/main/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzer.java
+++ b/src/main/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzer.java
@@ -19,18 +19,13 @@
package dev.dnpm.oshelper.analyzer;
-import dev.dnpm.oshelper.security.DelegatingDataBasedPermissionEvaluator;
-import dev.dnpm.oshelper.security.PermissionType;
-import dev.dnpm.oshelper.services.mtb.MtbService;
-import dev.dnpm.oshelper.services.therapieplan.TherapieplanServiceFactory;
import de.itc.onkostar.api.Disease;
import de.itc.onkostar.api.Procedure;
import de.itc.onkostar.api.analysis.AnalyseTriggerEvent;
import de.itc.onkostar.api.analysis.AnalyzerRequirement;
-import org.springframework.security.core.context.SecurityContextHolder;
+import dev.dnpm.oshelper.services.therapieplan.TherapieplanServiceFactory;
import org.springframework.stereotype.Component;
-import java.util.Map;
import java.util.Set;
/**
@@ -43,18 +38,10 @@ public class TherapieplanAnalyzer extends Analyzer {
private final TherapieplanServiceFactory therapieplanServiceFactory;
- private final MtbService mtbService;
-
- private final DelegatingDataBasedPermissionEvaluator permissionEvaluator;
-
public TherapieplanAnalyzer(
- final TherapieplanServiceFactory therapieplanServiceFactory,
- final MtbService mtbService,
- final DelegatingDataBasedPermissionEvaluator permissionEvaluator
+ final TherapieplanServiceFactory therapieplanServiceFactory
) {
this.therapieplanServiceFactory = therapieplanServiceFactory;
- this.mtbService = mtbService;
- this.permissionEvaluator = permissionEvaluator;
}
@Override
@@ -99,49 +86,4 @@ public class TherapieplanAnalyzer extends Analyzer {
therapieplanServiceFactory.currentUsableInstance().updateRequiredMtbEntries(procedure);
}
- /**
- * Übergibt den Text der referenzierten MTBs für den Protokollauszug
- *
- * <p>Wurde der Eingabewert <code>id</code> nicht übergeben, wird ein leerer String zurück gegeben.
- *
- * <p>Beispiel zur Nutzung in einem Formularscript
- * <pre>
- * executePluginMethod(
- * 'TherapieplanAnalyzer',
- * 'getProtokollauszug',
- * { id: 12345 },
- * (response) => console.log(response),
- * false
- * );
- * </pre>
- *
- * @param input Map mit Eingabewerten
- * @return Zeichenkette mit Protokollauszug
- */
- @Deprecated(since = "2.1", forRemoval = true)
- public String getProtokollauszug(Map<String, Object> input) {
- var procedureId = AnalyzerUtils.getRequiredId(input, "id");
-
- if (procedureId.isEmpty()) {
- return "";
- }
-
- if (
- permissionEvaluator.hasPermission(
- SecurityContextHolder.getContext().getAuthentication(),
- procedureId.get(),
- Procedure.class.getSimpleName(),
- PermissionType.READ
- )
- ) {
- return mtbService.getProtocol(
- therapieplanServiceFactory
- .currentUsableInstance()
- .findReferencedMtbs(procedureId.get())
- );
- }
-
- return "";
- }
-
}
diff --git a/src/main/java/dev/dnpm/oshelper/config/PluginConfiguration.java b/src/main/java/dev/dnpm/oshelper/config/PluginConfiguration.java
index f52fa29..bb6619f 100644
--- a/src/main/java/dev/dnpm/oshelper/config/PluginConfiguration.java
+++ b/src/main/java/dev/dnpm/oshelper/config/PluginConfiguration.java
@@ -19,6 +19,7 @@
package dev.dnpm.oshelper.config;
+import de.itc.onkostar.api.IOnkostarApi;
import dev.dnpm.oshelper.atc.services.AgentCodeService;
import dev.dnpm.oshelper.atc.services.CsvAgentCodeService;
import dev.dnpm.oshelper.atc.services.OnkostarAgentCodeService;
@@ -27,14 +28,11 @@ import dev.dnpm.oshelper.services.*;
import dev.dnpm.oshelper.services.consent.ConsentManagerServiceFactory;
import dev.dnpm.oshelper.services.molekulargenetik.MolekulargenetikFormService;
import dev.dnpm.oshelper.services.molekulargenetik.OsMolekulargenetikFormService;
-import dev.dnpm.oshelper.services.mtb.DefaultMtbService;
-import dev.dnpm.oshelper.services.mtb.MtbService;
import dev.dnpm.oshelper.services.strahlentherapie.DefaultStrahlentherapieService;
import dev.dnpm.oshelper.services.strahlentherapie.StrahlentherapieService;
import dev.dnpm.oshelper.services.systemtherapie.DefaultSystemtherapieService;
import dev.dnpm.oshelper.services.systemtherapie.SystemtherapieService;
import dev.dnpm.oshelper.services.therapieplan.TherapieplanServiceFactory;
-import de.itc.onkostar.api.IOnkostarApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@@ -68,11 +66,6 @@ public class PluginConfiguration {
}
@Bean
- public MtbService mtbService(final IOnkostarApi onkostarApi) {
- return new DefaultMtbService(onkostarApi);
- }
-
- @Bean
public SystemtherapieService systemtherapieService(
final IOnkostarApi onkostarApi,
final SettingsService settingsService
diff --git a/src/main/java/dev/dnpm/oshelper/services/mtb/DefaultMtbService.java b/src/main/java/dev/dnpm/oshelper/services/mtb/DefaultMtbService.java
deleted file mode 100644
index bc8a0cc..0000000
--- a/src/main/java/dev/dnpm/oshelper/services/mtb/DefaultMtbService.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * This file is part of onkostar-plugin-dnpm
- *
- * Copyright (C) 2023-2026 the original author or authors.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package dev.dnpm.oshelper.services.mtb;
-
-import de.itc.onkostar.api.IOnkostarApi;
-import de.itc.onkostar.api.Procedure;
-
-import java.util.Comparator;
-import java.util.List;
-import java.util.Optional;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-/**
- * Standardimplementierung des MtbService
- *
- * @since 0.0.2
- */
-@Deprecated(forRemoval = true, since = "2.1.0")
-public class DefaultMtbService implements MtbService {
-
- private final IOnkostarApi onkostarApi;
-
- public DefaultMtbService(final IOnkostarApi onkostarApi) {
- this.onkostarApi = onkostarApi;
- }
-
- /**
- * Zusammenfassung der Prozeduren.
- * Dabei werden alle Prozeduren sortiert, mit ermitteltem Mapper in {@link Optional} eines {@link String}s
- * gewandelt und, wenn dies erfolgreich war, die Zeichenkette extrahiert.
- * Im Anschluss wird die Abfolge der Zeichenketten mit den einzelnen Prozedur-Zusammenfassungen in eine
- * einzige Zusammenfassung zusammengefügt.
- * @param procedures Prozeduren, die zusammen gefasst werden sollen
- * @return Text mit Zusammenfassung aller übergebenen Prozeduren
- */
- @Override
- public String getProtocol(List<Procedure> procedures) {
- return this.sortedDistinctProcedureProtocolList(procedures.stream())
- .collect(Collectors.joining("\n\n"));
- }
-
- private Stream<String> sortedDistinctProcedureProtocolList(Stream<Procedure> procedures) {
- return procedures
- .sorted(Comparator.comparing(Procedure::getStartDate))
- .map(this::selectAndApplyMapper)
- .filter(Optional::isPresent)
- .map(Optional::get)
- .distinct();
- }
-
- /**
- * Übergibt anzuwendenden Mapper für eine Prozedur.
- * Wurde keine Implementierung festgelegt, wird ein Mapper zurückgegeben, der eine
- * Prozedur in ein leeres {@link Optional} zurück gibt, übergeben.
- * @param procedure Prozedur, für die ein Mapper ermittelt werden soll
- * @return Mapper für diese Prozedur
- */
- @Override
- public ProcedureToProtocolMapper procedureToProtocolMapper(Procedure procedure) {
- switch (procedure.getFormName()) {
- case "OS.Tumorkonferenz":
- return new OsTumorkonferenzToProtocolMapper();
- case "OS.Tumorkonferenz.VarianteUKW":
- return new OsTumorkonferenzVarianteUkwToProtocolMapper();
- case "MR.MTB_Anmeldung":
- return new MrMtbAnmeldungToProtocolMapper(this.onkostarApi);
- default:
- return p -> Optional.empty();
- }
- }
-
-}
diff --git a/src/main/java/dev/dnpm/oshelper/services/mtb/MtbService.java b/src/main/java/dev/dnpm/oshelper/services/mtb/MtbService.java
deleted file mode 100644
index ec0724c..0000000
--- a/src/main/java/dev/dnpm/oshelper/services/mtb/MtbService.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * This file is part of onkostar-plugin-dnpm
- *
- * Copyright (C) 2023-2026 the original author or authors.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package dev.dnpm.oshelper.services.mtb;
-
-import de.itc.onkostar.api.Procedure;
-
-import java.util.List;
-import java.util.Optional;
-
-@Deprecated(forRemoval = true, since = "2.1.0")
-public interface MtbService {
- /**
- * Zusammenfassung der Prozeduren
- * @param procedures Prozeduren, die zusammen gefasst werden sollen
- * @return Text mit Zusammenfassung der Prozeduren
- */
- String getProtocol(List<Procedure> procedures);
-
- /**
- * Übergibt anzuwendenden Mapper für eine Prozedur
- * @param procedure Prozedur, für die ein Mapper ermittelt werden soll
- * @return Mapper für diese Prozedur
- */
- ProcedureToProtocolMapper procedureToProtocolMapper(Procedure procedure);
-
- /**
- * Select mapper using method {@link #procedureToProtocolMapper(Procedure)} and apply procedure
- * @param procedure The Procedure to select mapper for and apply
- * @return {@link Optional} with protocol or empty {@link Optional}
- */
- default Optional<String> selectAndApplyMapper(Procedure procedure) {
- return this.procedureToProtocolMapper(procedure).apply(procedure);
- }
-}
diff --git a/src/test/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzerTest.java b/src/test/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzerTest.java
index d822f89..0ee1ef8 100644
--- a/src/test/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzerTest.java
+++ b/src/test/java/dev/dnpm/oshelper/analyzer/TherapieplanAnalyzerTest.java
@@ -19,27 +19,17 @@
package dev.dnpm.oshelper.analyzer;
-import dev.dnpm.oshelper.security.DelegatingDataBasedPermissionEvaluator;
-import dev.dnpm.oshelper.security.PermissionType;
-import dev.dnpm.oshelper.services.FormService;
-import dev.dnpm.oshelper.services.mtb.MtbService;
-import dev.dnpm.oshelper.services.therapieplan.MultipleMtbTherapieplanService;
-import dev.dnpm.oshelper.services.therapieplan.TherapieplanService;
-import dev.dnpm.oshelper.services.therapieplan.TherapieplanServiceFactory;
import de.itc.onkostar.api.IOnkostarApi;
-import de.itc.onkostar.api.Item;
import de.itc.onkostar.api.Procedure;
+import dev.dnpm.oshelper.services.FormService;
+import dev.dnpm.oshelper.services.therapieplan.DefaultTherapieplanService;
+import dev.dnpm.oshelper.services.therapieplan.TherapieplanServiceFactory;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
-import java.util.List;
-import java.util.Map;
-
-import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.*;
@ExtendWith(MockitoExtension.class)
@@ -54,62 +44,21 @@ class TherapieplanAnalyzerTest {
@Mock
private TherapieplanServiceFactory therapieplanServiceFactory;
- @Mock
- private TherapieplanService therapieplanService;
-
- @Mock
- private MtbService mtbService;
-
- @Mock
- private DelegatingDataBasedPermissionEvaluator permissionEvaluator;
-
private TherapieplanAnalyzer therapieplanAnalyzer;
@BeforeEach
void setUp() {
- this.therapieplanAnalyzer = new TherapieplanAnalyzer(therapieplanServiceFactory, mtbService, permissionEvaluator);
+ this.therapieplanAnalyzer = new TherapieplanAnalyzer(therapieplanServiceFactory);
}
@Test
void shouldRunServiceMethodsOnAnalyzeCalled() {
when(this.therapieplanServiceFactory.currentUsableInstance())
- .thenReturn(new MultipleMtbTherapieplanService(onkostarApi, formService));
+ .thenReturn(new DefaultTherapieplanService(onkostarApi, formService));
this.therapieplanAnalyzer.analyze(new Procedure(onkostarApi), null);
verify(this.therapieplanServiceFactory, times(1)).currentUsableInstance();
}
- @Test
- void shouldRequestProtokollauszug() {
- doAnswer(invocationOnMock -> {
- var procedure = new Procedure(onkostarApi);
- procedure.setValue("referstemtb", new Item("referstemtb", 2345));
- return List.of(procedure);
- }).when(this.therapieplanService).findReferencedMtbs(anyInt());
-
- when(this.therapieplanServiceFactory.currentUsableInstance())
- .thenReturn(therapieplanService);
-
- when(this.permissionEvaluator.hasPermission(any(), anyInt(), anyString(), any(PermissionType.class))).thenReturn(true);
-
- var input = Map.of("id", (Object) 1234);
- this.therapieplanAnalyzer.getProtokollauszug(input);
-
- var captor = ArgumentCaptor.forClass(List.class);
- verify(mtbService, times(1)).getProtocol(captor.capture());
- assertThat(captor.getValue()).hasSize(1);
- }
-
- @Test
- void shouldNotRequestProtokollauszugDueToNoPermission() {
- when(this.permissionEvaluator.hasPermission(any(), anyInt(), anyString(), any(PermissionType.class)))
- .thenReturn(false);
-
- var input = Map.of("id", (Object) 1234);
- this.therapieplanAnalyzer.getProtokollauszug(input);
-
- verify(mtbService, times(0)).getProtocol(anyList());
- }
-
}
diff --git a/src/test/java/dev/dnpm/oshelper/services/mtb/DefaultMtbServiceTest.java b/src/test/java/dev/dnpm/oshelper/services/mtb/DefaultMtbServiceTest.java
deleted file mode 100644
index 9796a73..0000000
--- a/src/test/java/dev/dnpm/oshelper/services/mtb/DefaultMtbServiceTest.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * This file is part of onkostar-plugin-dnpm
- *
- * Copyright (C) 2023-2026 the original author or authors.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package dev.dnpm.oshelper.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.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.*;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-@ExtendWith(MockitoExtension.class)
-class DefaultMtbServiceTest {
-
- private IOnkostarApi onkostarApi;
-
- private DefaultMtbService service;
-
- @BeforeEach
- void setup(
- @Mock IOnkostarApi onkostarApi
- ) {
- this.onkostarApi = onkostarApi;
- 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
- void testShouldReturnMtbProtocolForDefaultImplementation() {
- var procedure1 = new Procedure(onkostarApi);
- procedure1.setFormName("OS.Tumorkonferenz");
- procedure1.setStartDate(Date.from(Instant.parse("2023-01-01T00:00:00Z")));
- procedure1.setValue("Fragestellung", new Item("Fragestellung", "Test ok?"));
- procedure1.setValue("Empfehlung", new Item("Empfehlung", "Rerun Test if not ok!"));
-
- var procedures = List.of(
- procedure1
- );
-
- var actual = service.getProtocol(procedures);
-
- assertThat(actual).isEqualTo("Fragestellung:\nTest ok?\n\nEmpfehlung:\nRerun Test if not ok!");
- }
-
- @Test
- void testShouldReturnMtbProtocolForMultipleTK() {
- var procedure1 = new Procedure(onkostarApi);
- procedure1.setFormName("OS.Tumorkonferenz");
- procedure1.setStartDate(Date.from(Instant.parse("2023-02-01T00:00:00Z")));
- procedure1.setValue("Fragestellung", new Item("Fragestellung", "Test immer noch ok?"));
- procedure1.setValue("Empfehlung", new Item("Empfehlung", "Do not rerun Test if ok!"));
-
- var procedure2 = new Procedure(onkostarApi);
- procedure2.setFormName("OS.Tumorkonferenz");
- procedure2.setStartDate(Date.from(Instant.parse("2023-01-01T00:00:00Z")));
- procedure2.setValue("Fragestellung", new Item("Fragestellung", "Test ok?"));
- procedure2.setValue("Empfehlung", new Item("Empfehlung", "Rerun Test if not ok!"));
-
- var procedures = List.of(
- procedure1,
- procedure2
- );
-
- var actual = service.getProtocol(procedures);
-
- assertThat(actual).isEqualTo(
- "Fragestellung:\nTest ok?\n\nEmpfehlung:\nRerun Test if not ok!\n\n" +
- "Fragestellung:\nTest immer noch ok?\n\nEmpfehlung:\nDo not rerun Test if ok!"
- );
- }
-
- @Test
- void testShouldReturnMtbProtocolForMultipleTKVarianteUKW() {
- var procedure1 = new Procedure(onkostarApi);
- procedure1.setFormName("OS.Tumorkonferenz.VarianteUKW");
- procedure1.setStartDate(Date.from(Instant.parse("2023-02-01T00:00:00Z")));
- procedure1.setValue("Fragestellung", new Item("Fragestellung", "Test immer noch ok?"));
- procedure1.setValue("Empfehlung", new Item("Empfehlung", "Do not rerun Test if ok!"));
-
- var procedure2 = new Procedure(onkostarApi);
- procedure2.setFormName("OS.Tumorkonferenz.VarianteUKW");
- procedure2.setStartDate(Date.from(Instant.parse("2023-01-01T00:00:00Z")));
- procedure2.setValue("Fragestellung", new Item("Fragestellung", "Test ok?"));
- procedure2.setValue("Empfehlung", new Item("Empfehlung", "Rerun Test if not ok!"));
-
-
- var procedures = Arrays.asList(
- procedure1,
- procedure2
- );
-
- var actual = service.getProtocol(procedures);
-
- assertThat(actual).isEqualTo(
- "Fragestellung:\nTest ok?\n\nEmpfehlung:\nRerun Test if not ok!\n\n" +
- "Fragestellung:\nTest immer noch ok?\n\nEmpfehlung:\nDo not rerun Test if ok!"
- );
- }
-
- @Test
- void testShouldReturnDistinctProtocolEntries() {
- var procedure1 = new Procedure(onkostarApi);
- procedure1.setFormName("OS.Tumorkonferenz.VarianteUKW");
- procedure1.setStartDate(Date.from(Instant.parse("2023-02-01T00:00:00Z")));
- procedure1.setValue("Fragestellung", new Item("Fragestellung", "Test immer noch ok?"));
- procedure1.setValue("Empfehlung", new Item("Empfehlung", "Do not rerun Test if ok!"));
-
- var procedure2 = new Procedure(onkostarApi);
- procedure2.setFormName("OS.Tumorkonferenz.VarianteUKW");
- procedure2.setStartDate(Date.from(Instant.parse("2023-02-01T00:00:00Z")));
- procedure2.setValue("Fragestellung", new Item("Fragestellung", "Test immer noch ok?"));
- procedure2.setValue("Empfehlung", new Item("Empfehlung", "Do not rerun Test if ok!"));
-
- var procedure3 = new Procedure(onkostarApi);
- procedure3.setFormName("OS.Tumorkonferenz.VarianteUKW");
- procedure3.setStartDate(Date.from(Instant.parse("2023-01-01T00:00:00Z")));
- procedure3.setValue("Fragestellung", new Item("Fragestellung", "Test ok?"));
- procedure3.setValue("Empfehlung", new Item("Empfehlung", "Rerun Test if not ok!"));
-
-
- var procedures = Arrays.asList(
- procedure1,
- procedure2,
- procedure3
- );
-
- var actual = service.getProtocol(procedures);
-
- assertThat(actual).isEqualTo(
- "Fragestellung:\nTest ok?\n\nEmpfehlung:\nRerun Test if not ok!\n\n" +
- "Fragestellung:\nTest immer noch ok?\n\nEmpfehlung:\nDo not rerun Test if ok!"
- );
- }
-
- @Test
- void testShouldReturnEmptyMtbProtocolForUnknownForm() {
- var procedure1 = new Procedure(onkostarApi);
- procedure1.setFormName("OS.Tumorkonferenz.Unbekannt");
- procedure1.setStartDate(Date.from(Instant.parse("2023-02-01T00:00:00Z")));
- procedure1.setValue("Fragestellung", new Item("Fragestellung", "Test immer noch ok?"));
- procedure1.setValue("Empfehlung", new Item("Empfehlung", "Do not rerun Test if ok!"));
-
- var procedure2 = new Procedure(onkostarApi);
- procedure2.setFormName("OS.Tumorkonferenz.Unbekannt");
- procedure2.setStartDate(Date.from(Instant.parse("2023-01-01T00:00:00Z")));
- procedure2.setValue("Fragestellung", new Item("Fragestellung", "Test ok?"));
- procedure2.setValue("Empfehlung", new Item("Empfehlung", "Rerun Test if not ok!"));
-
-
- var procedures = Arrays.asList(
- procedure1,
- procedure2
- );
-
- var actual = service.getProtocol(procedures);
-
- assertThat(actual).isEmpty();
- }
-
-}