summaryrefslogtreecommitdiff
path: root/src/test/java/dev/dnpm/oshelper
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2026-04-07 10:15:30 +0200
committerGitHub2026-04-07 08:15:30 +0000
commit9afb438eeae0f5a5d6cf63afdaf4b5df8b06a895 (patch)
tree48fec966a5e2f65fbcc2d1e69cc97f8f79ca7cc9 /src/test/java/dev/dnpm/oshelper
parent149b33a18dcdfa7500e7d66b5774b2dca14b6f9c (diff)
refactor: remove deprecated MtbService (#260)
Diffstat (limited to 'src/test/java/dev/dnpm/oshelper')
-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
2 files changed, 5 insertions, 260 deletions
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();
- }
-
-}