summaryrefslogtreecommitdiff
path: root/src/test/java/dev/dnpm/services
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/dev/dnpm/services')
-rw-r--r--src/test/java/dev/dnpm/services/SettingsServiceTest.java62
-rw-r--r--src/test/java/dev/dnpm/services/StudieTest.java55
-rw-r--r--src/test/java/dev/dnpm/services/consent/ConsentManagerServiceFactoryTest.java50
-rw-r--r--src/test/java/dev/dnpm/services/consent/MrConsentManagerServiceTest.java59
-rw-r--r--src/test/java/dev/dnpm/services/consent/UkwConsentManagerServiceTest.java138
-rw-r--r--src/test/java/dev/dnpm/services/molekulargenetik/OsMolekluargenetikFormServiceTest.java49
-rw-r--r--src/test/java/dev/dnpm/services/mtb/DefaultMtbServiceTest.java185
-rw-r--r--src/test/java/dev/dnpm/services/mtb/MrMtbAnmeldungToProtocolMapperTest.java139
-rw-r--r--src/test/java/dev/dnpm/services/mtb/OsTumorkonferenzToProtocolMapperTest.java47
-rw-r--r--src/test/java/dev/dnpm/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapperTest.java47
-rw-r--r--src/test/java/dev/dnpm/services/strahlentherapie/DefaultStrahlentherapieServiceTest.java104
-rw-r--r--src/test/java/dev/dnpm/services/systemtherapie/DefaultSystemtherapieServiceTest.java131
-rw-r--r--src/test/java/dev/dnpm/services/systemtherapie/ProzedurToProzedurwerteMapperTest.java71
-rw-r--r--src/test/java/dev/dnpm/services/therapieplan/DefaultTherapieplanServiceTest.java169
-rw-r--r--src/test/java/dev/dnpm/services/therapieplan/TherapieplanServiceFactoryTest.java49
15 files changed, 0 insertions, 1355 deletions
diff --git a/src/test/java/dev/dnpm/services/SettingsServiceTest.java b/src/test/java/dev/dnpm/services/SettingsServiceTest.java
deleted file mode 100644
index 4a5e10e..0000000
--- a/src/test/java/dev/dnpm/services/SettingsServiceTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package dev.dnpm.services;
-
-import de.itc.db.dnpm.Setting;
-import dev.dnpm.database.SettingsRepository;
-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 static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.anyString;
-import static org.mockito.Mockito.doAnswer;
-
-@ExtendWith(MockitoExtension.class)
-class SettingsServiceTest {
-
- private SettingsRepository settingsRepository;
-
- private SettingsService service;
-
- @BeforeEach
- void setUp(
- @Mock SettingsRepository settingsRepository
- ) {
- this.settingsRepository = settingsRepository;
- this.service = new SettingsService(settingsRepository);
- }
-
- @Test
- void shouldReturnSID() {
- doAnswer(invocationOnMock -> {
- var name = invocationOnMock.getArgument(0, String.class);
- if (null != name && name.equals("SID")) {
- return new Setting(1L, "SID", "12345");
- }
- return null;
- }).when(settingsRepository).findByName(anyString());
-
- var actual = service.getSID();
- assertThat(actual)
- .isPresent()
- .contains("12345");
- }
-
- @Test
- void shouldReturnSIDByName() {
- doAnswer(invocationOnMock -> {
- var name = invocationOnMock.getArgument(0, String.class);
- if (null != name && name.equals("SID")) {
- return new Setting(1L, "SID", "12345");
- }
- return null;
- }).when(settingsRepository).findByName(anyString());
-
- var actual = service.getSetting("SID");
- assertThat(actual)
- .isPresent()
- .contains("12345");
- }
-
-}
diff --git a/src/test/java/dev/dnpm/services/StudieTest.java b/src/test/java/dev/dnpm/services/StudieTest.java
deleted file mode 100644
index debf6b9..0000000
--- a/src/test/java/dev/dnpm/services/StudieTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package dev.dnpm.services;
-
-import dev.dnpm.dto.Studie;
-import org.junit.jupiter.api.Test;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-class StudieTest {
-
- @Test
- void shouldDetectStudieWithNctNumber() {
- var studie = new Studie(
- "Kat 1",
- 1,
- null,
- "Nct-12345678",
- "Teststudie 1",
- "Teststudie 1",
- true
- );
-
- assertThat(studie.getType()).isEqualTo(Studie.Type.NCT);
- }
-
- @Test
- void shouldDetectStudieWithEudraCtNumber() {
- var studie = new Studie(
- "Kat 1",
- 1,
- null,
- "2023-012345-12",
- "Teststudie 1",
- "Teststudie 1",
- true
- );
-
- assertThat(studie.getType()).isEqualTo(Studie.Type.EUDRA_CT);
- }
-
- @Test
- void shouldReturnStudieWithUnknownNumberScheme() {
- var studie = new Studie(
- "Kat 1",
- 1,
- "teststudie1",
- null,
- "Teststudie 1",
- "Teststudie 1",
- true
- );
-
- assertThat(studie.getType()).isEqualTo(Studie.Type.UNKNOWN);
- }
-
-}
diff --git a/src/test/java/dev/dnpm/services/consent/ConsentManagerServiceFactoryTest.java b/src/test/java/dev/dnpm/services/consent/ConsentManagerServiceFactoryTest.java
deleted file mode 100644
index b0d76e3..0000000
--- a/src/test/java/dev/dnpm/services/consent/ConsentManagerServiceFactoryTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package dev.dnpm.services.consent;
-
-import de.itc.onkostar.api.IOnkostarApi;
-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;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.when;
-
-@ExtendWith(MockitoExtension.class)
-class ConsentManagerServiceFactoryTest {
-
- private IOnkostarApi onkostarApi;
-
- private ConsentManagerServiceFactory consentManagerServiceFactory;
-
- @BeforeEach
- void setup(
- @Mock IOnkostarApi onkostarApi
- ) {
- this.onkostarApi = onkostarApi;
- this.consentManagerServiceFactory = new ConsentManagerServiceFactory(onkostarApi);
- }
-
- private static Set<Map.Entry<String, Class<? extends ConsentManagerService>>> expectedMappings() {
- return Map.ofEntries(
- Map.entry("MR.Consent", MrConsentManagerService.class),
- Map.entry("Excel-Formular", UkwConsentManagerService.class)
- ).entrySet();
- }
-
- @ParameterizedTest
- @MethodSource("expectedMappings")
- void testShouldMapFormNameToService(Map.Entry<String, Class<?>> expectedMapping) {
- when(onkostarApi.getGlobalSetting(anyString())).thenReturn(expectedMapping.getKey());
-
- var actual = consentManagerServiceFactory.currentUsableInstance();
-
- assertThat(actual).isExactlyInstanceOf(expectedMapping.getValue());
- }
-
-}
diff --git a/src/test/java/dev/dnpm/services/consent/MrConsentManagerServiceTest.java b/src/test/java/dev/dnpm/services/consent/MrConsentManagerServiceTest.java
deleted file mode 100644
index bcecbf6..0000000
--- a/src/test/java/dev/dnpm/services/consent/MrConsentManagerServiceTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package dev.dnpm.services.consent;
-
-import de.itc.onkostar.api.IOnkostarApi;
-import de.itc.onkostar.api.Procedure;
-import org.hibernate.SQLQuery;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.type.Type;
-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 static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.*;
-
-@ExtendWith(MockitoExtension.class)
-class MrConsentManagerServiceTest {
-
- private IOnkostarApi onkostarApi;
-
- private MrConsentManagerService service;
-
- @BeforeEach
- void setup(
- @Mock IOnkostarApi onkostarApi
- ) {
- this.onkostarApi = onkostarApi;
- this.service = new MrConsentManagerService(onkostarApi);
- }
-
- @Test
- void testShouldCreateSqlQueriesWithRelatedEntityIds() {
- var sessionFactory = mock(SessionFactory.class);
- var session = mock(Session.class);
- var query = mock(SQLQuery.class);
-
- when(onkostarApi.getSessionFactory()).thenReturn(sessionFactory);
- when(sessionFactory.getCurrentSession()).thenReturn(session);
- when(session.createSQLQuery(anyString())).thenReturn(query);
- when(query.addScalar(anyString(), any(Type.class))).thenReturn(query);
- when(query.uniqueResult()).thenReturn("");
-
- var dummyProzedur = new Procedure(this.onkostarApi);
- dummyProzedur.setId(111);
- dummyProzedur.setPatientId(123);
-
- this.service.applyConsent(dummyProzedur);
-
- var argumentCaptor = ArgumentCaptor.forClass(String.class);
- verify(session, times(2)).createSQLQuery(argumentCaptor.capture());
- assertThat(argumentCaptor.getAllValues()).hasSize(2);
- assertThat(argumentCaptor.getAllValues().get(0)).contains("where entity_id = '111'");
- assertThat(argumentCaptor.getAllValues().get(1)).contains("WHERE patient_id = 123 AND geloescht = 0");
- }
-
-}
diff --git a/src/test/java/dev/dnpm/services/consent/UkwConsentManagerServiceTest.java b/src/test/java/dev/dnpm/services/consent/UkwConsentManagerServiceTest.java
deleted file mode 100644
index e0485db..0000000
--- a/src/test/java/dev/dnpm/services/consent/UkwConsentManagerServiceTest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package dev.dnpm.services.consent;
-
-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.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-
-import java.sql.Date;
-import java.time.Instant;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.*;
-
-@ExtendWith(MockitoExtension.class)
-class UkwConsentManagerServiceTest {
-
- private IOnkostarApi onkostarApi;
-
- private UkwConsentManagerService service;
-
- @BeforeEach
- void setup(
- @Mock IOnkostarApi onkostarApi
- ) {
- this.onkostarApi = onkostarApi;
- this.service = new UkwConsentManagerService(onkostarApi);
- }
-
- @Test
- void testShouldSkipUpdateRelatedDnpmKlinikAnamneseFormIfNoConsentAvailable() throws Exception {
-
- var excelForm = new Procedure(this.onkostarApi);
- excelForm.setId(111);
- excelForm.setPatientId(123);
- excelForm.setValue("refdnpmklinikanamnese", new Item("refdnpmklinikanamnese", 2));
-
- var dnpmKlinikAnamneseForm = new Procedure(this.onkostarApi);
- dnpmKlinikAnamneseForm.setId(2);
- dnpmKlinikAnamneseForm.setPatientId(123);
-
- when(onkostarApi.getProcedure(anyInt())).thenReturn(dnpmKlinikAnamneseForm);
-
- this.service.applyConsent(excelForm);
-
- verify(onkostarApi, times(0)).saveProcedure(any(Procedure.class), anyBoolean());
- }
-
- @Test
- void testShouldSkipUpdateRelatedDnpmKlinikAnamneseFormIfNoConsentDateAvailable() throws Exception {
-
- var consentSubForm = new Procedure(this.onkostarApi);
- consentSubForm.setId(1);
- consentSubForm.setPatientId(123);
- consentSubForm.setValue("status", new Item("status", "accepted"));
-
-
- var excelForm = new Procedure(this.onkostarApi);
- excelForm.setId(111);
- excelForm.setPatientId(123);
- excelForm.setValue("refdnpmklinikanamnese", new Item("refdnpmklinikanamnese", 2));
- excelForm.addSubProcedure("ufdnpmconsent", consentSubForm);
-
- var dnpmKlinikAnamneseForm = new Procedure(this.onkostarApi);
- dnpmKlinikAnamneseForm.setId(2);
- dnpmKlinikAnamneseForm.setPatientId(123);
-
- when(onkostarApi.getProcedure(anyInt())).thenReturn(dnpmKlinikAnamneseForm);
-
- this.service.applyConsent(excelForm);
-
- verify(onkostarApi, times(0)).saveProcedure(any(Procedure.class), anyBoolean());
- }
-
- @Test
- void testShouldSkipUpdateRelatedDnpmKlinikAnamneseFormIfNoConsentValueAvailable() throws Exception {
-
- var consentSubForm = new Procedure(this.onkostarApi);
- consentSubForm.setId(1);
- consentSubForm.setPatientId(123);
- consentSubForm.setStartDate(Date.from(Instant.parse("2023-04-03T12:00:00Z")));
- consentSubForm.setValue("datum", new Item("datum", Date.from(Instant.parse("2023-04-03T12:00:00Z"))));
-
- var excelForm = new Procedure(this.onkostarApi);
- excelForm.setId(111);
- excelForm.setPatientId(123);
- excelForm.setValue("refdnpmklinikanamnese", new Item("refdnpmklinikanamnese", 2));
- excelForm.addSubProcedure("ufdnpmconsent", consentSubForm);
-
- var dnpmKlinikAnamneseForm = new Procedure(this.onkostarApi);
- dnpmKlinikAnamneseForm.setId(2);
- dnpmKlinikAnamneseForm.setPatientId(123);
-
- when(onkostarApi.getProcedure(anyInt())).thenReturn(dnpmKlinikAnamneseForm);
-
- this.service.applyConsent(excelForm);
-
- verify(onkostarApi, times(0)).saveProcedure(any(Procedure.class), anyBoolean());
- }
-
- @Test
- void testShouldUpdateRelatedDnpmKlinikAnamneseFormOnFormSave() throws Exception {
-
- var consentSubForm = new Procedure(this.onkostarApi);
- consentSubForm.setId(1);
- consentSubForm.setPatientId(123);
- consentSubForm.setStartDate(Date.from(Instant.parse("2023-04-03T12:00:00Z")));
- consentSubForm.setValue("datum", new Item("datum", Date.from(Instant.parse("2023-04-03T12:00:00Z"))));
- consentSubForm.setValue("status", new Item("status", "accepted"));
-
- var excelForm = new Procedure(this.onkostarApi);
- excelForm.setId(111);
- excelForm.setPatientId(123);
- excelForm.setValue("refdnpmklinikanamnese", new Item("refdnpmklinikanamnese", 2));
- excelForm.addSubProcedure("ufdnpmconsent", consentSubForm);
-
- var dnpmKlinikAnamneseForm = new Procedure(this.onkostarApi);
- dnpmKlinikAnamneseForm.setId(2);
- dnpmKlinikAnamneseForm.setPatientId(123);
-
- when(onkostarApi.getProcedure(anyInt())).thenReturn(dnpmKlinikAnamneseForm);
-
- this.service.applyConsent(excelForm);
-
- var argumentCaptor = ArgumentCaptor.forClass(Procedure.class);
- verify(onkostarApi, times(1)).saveProcedure(argumentCaptor.capture(), anyBoolean());
-
- var savedForm = argumentCaptor.getValue();
- assertThat(savedForm).isExactlyInstanceOf(Procedure.class);
- assertThat(savedForm.getValue("ConsentStatusEinwilligungDNPM").getString()).isEqualTo("accepted");
- assertThat(savedForm.getValue("ConsentDatumEinwilligungDNPM").getDate()).isEqualTo("2023-04-03T12:00:00Z");
- }
-
-}
diff --git a/src/test/java/dev/dnpm/services/molekulargenetik/OsMolekluargenetikFormServiceTest.java b/src/test/java/dev/dnpm/services/molekulargenetik/OsMolekluargenetikFormServiceTest.java
deleted file mode 100644
index 23c1e8e..0000000
--- a/src/test/java/dev/dnpm/services/molekulargenetik/OsMolekluargenetikFormServiceTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package dev.dnpm.services.molekulargenetik;
-
-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 static org.assertj.core.api.Assertions.assertThat;
-
-class OsMolekluargenetikFormServiceTest {
-
- private OsMolekulargenetikFormService service;
-
- @BeforeEach
- void setup() {
- this.service = new OsMolekulargenetikFormService();
- }
-
- @Test
- void testShouldReturnVariants() {
-
- var procedure = new Procedure(null);
- procedure.setId(123);
- procedure.setFormName("OS.Molekulargenetik");
-
- var subProcedure1 = new Procedure(null);
- subProcedure1.setId(1123);
- subProcedure1.setFormName("OS.Molekulargenetische Untersuchung");
- subProcedure1.setValue("Ergebnis", new Item("Ergebnis", "P"));
- subProcedure1.setValue("Untersucht", new Item("Untersucht", "BRAF"));
- subProcedure1.setValue("ExonInt", new Item("ExonInt", 123));
- subProcedure1.setValue("Pathogenitaetsklasse", new Item("Pathogenitaetsklasse", "2"));
- procedure.addSubProcedure("MolekulargenetischeUntersuchung", subProcedure1);
-
- var subProcedure2 = new Procedure(null);
- subProcedure2.setId(2123);
- subProcedure2.setFormName("OS.Molekulargenetische Untersuchung");
- subProcedure2.setValue("Ergebnis", new Item("Ergebnis", "CNV"));
- subProcedure2.setValue("Untersucht", new Item("Untersucht", "BRAF"));
- subProcedure2.setValue("ExonInt", new Item("ExonInt", 123));
- subProcedure2.setValue("Pathogenitaetsklasse", new Item("Pathogenitaetsklasse", "2"));
- procedure.addSubProcedure("MolekulargenetischeUntersuchung", subProcedure2);
-
- var actual = service.getVariants(procedure);
-
- assertThat(actual).hasSize(2);
- }
-
-}
diff --git a/src/test/java/dev/dnpm/services/mtb/DefaultMtbServiceTest.java b/src/test/java/dev/dnpm/services/mtb/DefaultMtbServiceTest.java
deleted file mode 100644
index 0919d89..0000000
--- a/src/test/java/dev/dnpm/services/mtb/DefaultMtbServiceTest.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package dev.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.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();
- }
-
-}
diff --git a/src/test/java/dev/dnpm/services/mtb/MrMtbAnmeldungToProtocolMapperTest.java b/src/test/java/dev/dnpm/services/mtb/MrMtbAnmeldungToProtocolMapperTest.java
deleted file mode 100644
index 5253cfc..0000000
--- a/src/test/java/dev/dnpm/services/mtb/MrMtbAnmeldungToProtocolMapperTest.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package dev.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)
-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()
- .contains(
- "Fragestellung:\nFrage?\n\n"
- + "Empfehlung:\nEmpfehlung1\n\n"
- + "Empfehlung:\nEmpfehlung2"
- );
- }
-
- @Test
- void testShouldMapFormWithMissingEinzelempfehlungen() {
- 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");
-
- doAnswer(invocationOnMock -> {
- var procedureId = invocationOnMock.getArgument(0, Integer.class);
- if (2 == procedureId) {
- return empfehlung;
- }
- return null;
- }).when(onkostarApi).getProcedure(anyInt());
-
- var actual = this.mapper.apply(anmeldung);
-
- assertThat(actual)
- .isPresent()
- .contains("Fragestellung:\nFrage?");
- }
-
- @Test
- void testShouldMapFormWithMissingEmpfehlung() {
- var anmeldung = new Procedure(onkostarApi);
- anmeldung.setId(1);
- anmeldung.setFormName("MR.MTB_Anmeldung");
- anmeldung.setValue("Fragestellung", new Item("Fragestellung", "Frage?"));
-
- var actual = this.mapper.apply(anmeldung);
-
- assertThat(actual)
- .isPresent()
- .contains("Fragestellung:\nFrage?");
- }
-
- @Test
- void testShouldMapFormWithMissingFragestellungAndEmpfehlung() {
- var anmeldung = new Procedure(onkostarApi);
- anmeldung.setId(1);
- anmeldung.setFormName("MR.MTB_Anmeldung");
-
- var actual = this.mapper.apply(anmeldung);
-
- assertThat(actual).isEmpty();
- }
-}
diff --git a/src/test/java/dev/dnpm/services/mtb/OsTumorkonferenzToProtocolMapperTest.java b/src/test/java/dev/dnpm/services/mtb/OsTumorkonferenzToProtocolMapperTest.java
deleted file mode 100644
index 863ed55..0000000
--- a/src/test/java/dev/dnpm/services/mtb/OsTumorkonferenzToProtocolMapperTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package dev.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)
-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()
- .contains("Fragestellung:\nTest ok?\n\nEmpfehlung:\nRerun Test if not ok!");
- }
-
-}
diff --git a/src/test/java/dev/dnpm/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapperTest.java b/src/test/java/dev/dnpm/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapperTest.java
deleted file mode 100644
index 0768a2f..0000000
--- a/src/test/java/dev/dnpm/services/mtb/OsTumorkonferenzVarianteUkwToProtocolMapperTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package dev.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)
-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()
- .contains("Fragestellung:\nTest ok?\n\nEmpfehlung:\nRerun Test if not ok!");
- }
-
-}
diff --git a/src/test/java/dev/dnpm/services/strahlentherapie/DefaultStrahlentherapieServiceTest.java b/src/test/java/dev/dnpm/services/strahlentherapie/DefaultStrahlentherapieServiceTest.java
deleted file mode 100644
index 9aaa68b..0000000
--- a/src/test/java/dev/dnpm/services/strahlentherapie/DefaultStrahlentherapieServiceTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package dev.dnpm.services.strahlentherapie;
-
-import dev.dnpm.services.SettingsService;
-import de.itc.onkostar.api.*;
-import org.assertj.core.util.Lists;
-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.time.Instant;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Optional;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.*;
-
-@ExtendWith(MockitoExtension.class)
-class DefaultStrahlentherapieServiceTest {
-
- private IOnkostarApi onkostarApi;
-
- private SettingsService settingsService;
-
- private DefaultStrahlentherapieService service;
-
- @BeforeEach
- void setup(@Mock IOnkostarApi onkostarApi, @Mock SettingsService settingsService) {
- this.onkostarApi = onkostarApi;
- this.settingsService = settingsService;
- this.service = new DefaultStrahlentherapieService(onkostarApi, settingsService);
- }
-
- @Test
- void testShouldRequestProceduresWithDefaultFormName() {
- when(this.settingsService.getSetting(anyString())).thenReturn(Optional.empty());
-
- doAnswer(invocationOnMock -> {
- var procedure = new Procedure(onkostarApi);
- procedure.setId(1);
- procedure.setFormName("OS.Strahlentherapie");
- procedure.setStartDate(Date.from(Instant.parse("2023-07-01T06:00:00Z")));
- procedure.setEditState(ProcedureEditStateType.COMPLETED);
- procedure.setValue("ECOGvorTherapie", new Item("ECOGvorTherapie", 1));
- return Lists.list(procedure);
- }).when(this.onkostarApi).getProceduresForDiseaseByForm(anyInt(), anyString());
-
- doAnswer(invocationOnMock -> {
- var disease = new Disease(onkostarApi);
- disease.setId(1);
- disease.setPatientId(123);
- return Lists.list(disease);
- }).when(this.onkostarApi).getDiseasesByPatientId(anyInt());
-
- var patient = new Patient(onkostarApi);
- patient.setId(123);
-
- service.ecogStatus(patient);
-
- var argumentCaptor = ArgumentCaptor.forClass(String.class);
- verify(onkostarApi, times(1)).getProceduresForDiseaseByForm(anyInt(), argumentCaptor.capture());
- assertThat(argumentCaptor.getValue()).isEqualTo("OS.Strahlentherapie");
- }
-
- @Test
- void testShouldReturnListOfEcogStatusWithDate() {
- doAnswer(invocationOnMock -> {
- var disease = new Disease(onkostarApi);
- disease.setId(1);
- return List.of(disease);
- }).when(this.onkostarApi).getDiseasesByPatientId(anyInt());
-
- doAnswer(invocationOnMock -> {
- var procedure1 = new Procedure(onkostarApi);
- procedure1.setId(1);
- procedure1.setFormName("OS.Strahlentherapie");
- procedure1.setStartDate(Date.from(Instant.parse("2023-07-01T06:00:00Z")));
- procedure1.setEditState(ProcedureEditStateType.COMPLETED);
- procedure1.setValue("ECOGvorTherapie", new Item("ECOGvorTherapie", 1));
-
- var procedure2 = new Procedure(onkostarApi);
- procedure2.setId(2);
- procedure2.setFormName("OS.Strahlentherapie");
- procedure2.setStartDate(Date.from(Instant.parse("2023-07-12T06:00:00Z")));
- procedure2.setEditState(ProcedureEditStateType.COMPLETED);
- procedure2.setValue("ECOGvorTherapie", new Item("ECOGvorTherapie", 2));
- return List.of(procedure1, procedure2);
- }).when(this.onkostarApi).getProceduresForDiseaseByForm(anyInt(), anyString());
-
- var patient = new Patient(onkostarApi);
- patient.setId(1);
-
- var actual = service.ecogStatus(patient);
-
- assertThat(actual)
- .isNotNull()
- .isExactlyInstanceOf(ArrayList.class)
- .hasSize(2);
- }
-}
diff --git a/src/test/java/dev/dnpm/services/systemtherapie/DefaultSystemtherapieServiceTest.java b/src/test/java/dev/dnpm/services/systemtherapie/DefaultSystemtherapieServiceTest.java
deleted file mode 100644
index 2744c52..0000000
--- a/src/test/java/dev/dnpm/services/systemtherapie/DefaultSystemtherapieServiceTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package dev.dnpm.services.systemtherapie;
-
-import dev.dnpm.services.SettingsService;
-import de.itc.onkostar.api.*;
-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.ArgumentCaptor;
-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;
-import static org.mockito.Mockito.*;
-
-@ExtendWith(MockitoExtension.class)
-class DefaultSystemtherapieServiceTest {
-
- private IOnkostarApi onkostarApi;
-
- private SettingsService settingsService;
-
- private DefaultSystemtherapieService service;
-
- @BeforeEach
- void setup(@Mock IOnkostarApi onkostarApi, @Mock SettingsService settingsService) {
- this.onkostarApi = onkostarApi;
- this.settingsService = settingsService;
- this.service = new DefaultSystemtherapieService(onkostarApi, settingsService);
- }
-
- private static Set<Map.Entry<String, Class<OsSystemischeTherapieToProzedurwerteMapper>>> expectedMapperMappings() {
- return Map.ofEntries(Map.entry("OS.Systemische Therapie", OsSystemischeTherapieToProzedurwerteMapper.class), Map.entry("OS.Systemische Therapie.VarianteUKW", OsSystemischeTherapieToProzedurwerteMapper.class)).entrySet();
- }
-
- @ParameterizedTest
- @MethodSource("expectedMapperMappings")
- void testShouldMapFormNameToMapper(Map.Entry<String, Class<?>> expectedMapping) {
- var procedure = new Procedure(onkostarApi);
- procedure.setFormName(expectedMapping.getKey());
-
- var actual = service.prozedurToProzedurwerteMapper(procedure);
-
- assertThat(actual).isExactlyInstanceOf(expectedMapping.getValue());
- }
-
- private static List<String> formnameSetting() {
- return List.of("OS.Systemische Therapie", "OS.Systemische Therapie.VarianteUKW");
- }
-
- @ParameterizedTest
- @MethodSource("formnameSetting")
- void testShouldRequestProceduresWithExpectedFormName(String expectedFormName) {
- when(this.settingsService.getSetting(anyString())).thenReturn(Optional.of(expectedFormName));
- when(this.onkostarApi.getProceduresForDiseaseByForm(anyInt(), anyString())).thenReturn(List.of());
-
- service.getSystemischeTherapienFromDiagnose(123);
-
- var argumentCaptor = ArgumentCaptor.forClass(String.class);
- verify(onkostarApi, times(1)).getProceduresForDiseaseByForm(anyInt(), argumentCaptor.capture());
- assertThat(argumentCaptor.getValue()).isEqualTo(expectedFormName);
- }
-
- @Test
- void testShouldRequestProceduresWithDefaultFormName() {
- when(this.settingsService.getSetting(anyString())).thenReturn(Optional.empty());
- when(this.onkostarApi.getProceduresForDiseaseByForm(anyInt(), anyString())).thenReturn(List.of());
-
- service.getSystemischeTherapienFromDiagnose(123);
-
- var argumentCaptor = ArgumentCaptor.forClass(String.class);
- verify(onkostarApi, times(1)).getProceduresForDiseaseByForm(anyInt(), argumentCaptor.capture());
- assertThat(argumentCaptor.getValue()).isEqualTo("OS.Systemische Therapie");
- }
-
- @Test
- void testShouldReturnSystemischeTherapienFromDiagnose() {
- doAnswer(invocationOnMock -> {
- var procedure = new Procedure(onkostarApi);
- procedure.setFormName("OS.Systemische Therapie");
- return List.of(procedure);
- }).when(this.onkostarApi).getProceduresForDiseaseByForm(anyInt(), anyString());
-
- var actual = service.getSystemischeTherapienFromDiagnose(1);
-
- assertThat(actual)
- .isNotNull()
- .isExactlyInstanceOf(ArrayList.class)
- .hasSize(1);
- }
-
- @Test
- void testShouldReturnListOfEcogStatusWithDate() {
- doAnswer(invocationOnMock -> {
- var disease = new Disease(onkostarApi);
- disease.setId(1);
- return List.of(disease);
- }).when(this.onkostarApi).getDiseasesByPatientId(anyInt());
-
- doAnswer(invocationOnMock -> {
- var procedure1 = new Procedure(onkostarApi);
- procedure1.setId(1);
- procedure1.setFormName("OS.Systemische Therapie");
- procedure1.setStartDate(Date.from(Instant.parse("2023-07-01T06:00:00Z")));
- procedure1.setEditState(ProcedureEditStateType.COMPLETED);
- procedure1.setValue("ECOGvorTherapie", new Item("ECOGvorTherapie", 1));
-
- var procedure2 = new Procedure(onkostarApi);
- procedure2.setId(2);
- procedure2.setFormName("OS.Systemische Therapie");
- procedure2.setStartDate(Date.from(Instant.parse("2023-07-12T06:00:00Z")));
- procedure2.setEditState(ProcedureEditStateType.COMPLETED);
- procedure2.setValue("ECOGvorTherapie", new Item("ECOGvorTherapie", 2));
- return List.of(procedure1, procedure2);
- }).when(this.onkostarApi).getProceduresForDiseaseByForm(anyInt(), anyString());
-
- var patient = new Patient(onkostarApi);
- patient.setId(1);
-
- var actual = service.ecogStatus(patient);
-
- assertThat(actual)
- .isNotNull()
- .isExactlyInstanceOf(ArrayList.class)
- .hasSize(2);
- }
-}
diff --git a/src/test/java/dev/dnpm/services/systemtherapie/ProzedurToProzedurwerteMapperTest.java b/src/test/java/dev/dnpm/services/systemtherapie/ProzedurToProzedurwerteMapperTest.java
deleted file mode 100644
index 6dbdada..0000000
--- a/src/test/java/dev/dnpm/services/systemtherapie/ProzedurToProzedurwerteMapperTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package dev.dnpm.services.systemtherapie;
-
-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.sql.Date;
-import java.time.Instant;
-import java.util.ArrayList;
-import java.util.Map;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-@ExtendWith(MockitoExtension.class)
-class ProzedurToProzedurwerteMapperTest {
-
- private IOnkostarApi onkostarApi;
-
- private OsSystemischeTherapieToProzedurwerteMapper mapper;
-
- @BeforeEach
- void setup(
- @Mock IOnkostarApi onkostarApi
- ) {
- this.onkostarApi = onkostarApi;
- this.mapper = new OsSystemischeTherapieToProzedurwerteMapper();
- }
-
- @Test
- void testShouldReturnSystemischeTherapienFromDiagnose() {
- var procedure = new Procedure(onkostarApi);
- procedure.setFormName("OS.Systemische Therapie");
- procedure.setValue("Beginn", new Item("Beginn", Date.from(Instant.parse("2023-01-01T00:00:00Z"))));
- procedure.setValue("Ende", new Item("Ende", Date.from(Instant.parse("2023-01-31T00:00:00Z"))));
- procedure.setValue("Beendigung", new Item("Beendigungsstatus", "E"));
- procedure.setValue("Ergebnis", new Item("Ergebnis", "T"));
-
- var substanzen = new ArrayList<>();
- substanzen.add(Map.of(
- "Substanz", "Testsubstanz",
- "Substanz_shortDescription", "Testsubstanz"
- ));
- substanzen.add(Map.of(
- "Substanz", "L01AA01",
- "Substanz_shortDescription", "cyclophosphamide"
- ));
- procedure.setValue("SubstanzenList", new Item("SubstanzenList", substanzen));
-
- var actual = mapper.apply(procedure);
-
- assertThat(actual).isPresent();
-
- assertThat(actual.get()).containsEntry("Beginn", Date.from(Instant.parse("2023-01-01T00:00:00Z")).toString());
- assertThat(actual.get()).containsEntry("Ende", Date.from(Instant.parse("2023-01-31T00:00:00Z")).toString());
- assertThat(actual.get()).containsEntry("Beendigung", "E");
- assertThat(actual.get()).containsEntry("Ergebnis", "T");
- assertThat(actual.get()).containsEntry("Wirkstoffe", "Testsubstanz, cyclophosphamide");
- assertThat(actual.get()).containsEntry("WirkstoffCodes",
- "[" +
- "{\"system\":\"other\",\"code\":\"Testsubstanz\",\"substance\":\"Testsubstanz\"}," +
- "{\"system\":\"ATC\",\"code\":\"L01AA01\",\"substance\":\"cyclophosphamide\"}" +
- "]"
- );
- }
-
-}
diff --git a/src/test/java/dev/dnpm/services/therapieplan/DefaultTherapieplanServiceTest.java b/src/test/java/dev/dnpm/services/therapieplan/DefaultTherapieplanServiceTest.java
deleted file mode 100644
index 4554c0a..0000000
--- a/src/test/java/dev/dnpm/services/therapieplan/DefaultTherapieplanServiceTest.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package dev.dnpm.services.therapieplan;
-
-import de.itc.onkostar.api.IOnkostarApi;
-import de.itc.onkostar.api.Item;
-import de.itc.onkostar.api.Procedure;
-import de.itc.onkostar.api.constants.JaNeinUnbekannt;
-import dev.dnpm.services.FormService;
-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.time.Instant;
-import java.util.Date;
-import java.util.List;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.*;
-
-@ExtendWith(MockitoExtension.class)
-class DefaultTherapieplanServiceTest {
-
- private IOnkostarApi onkostarApi;
-
- private TherapieplanService service;
-
- @BeforeEach
- void setUp(
- @Mock IOnkostarApi onkostarApi,
- @Mock FormService formService
- ) {
- this.onkostarApi = onkostarApi;
- this.service = new DefaultTherapieplanService(onkostarApi, formService);
- }
-
- @Test
- void shouldNotUpdateSubformsOrSectionsIfMultipleMtbConfiguration() throws Exception {
- this.service.updateRequiredMtbEntries(new Procedure(onkostarApi));
- verify(onkostarApi, never()).saveProcedure(any(Procedure.class), anyBoolean());
- }
-
- @Test
- void shouldNotUpdateSectionsIfSectionsNotEnabled() throws Exception {
- var testProcedure = baseProcedure(onkostarApi);
-
- // Keine humangenetische Beratung und keine Reevaluation empfohlen
- testProcedure.setValue("humangenberatung", new Item("humangen_beratung", JaNeinUnbekannt.NEIN.getCode()));
- testProcedure.setValue("reevaluation", new Item("reevaluation", JaNeinUnbekannt.NEIN.getCode()));
-
- this.service.updateRequiredMtbEntries(testProcedure);
-
- verify(onkostarApi, never()).saveProcedure(any(Procedure.class), anyBoolean());
- }
-
- @Test
- void shouldUpdateSectionsIfNoReevaluation() throws Exception {
- var testProcedure = baseProcedure(onkostarApi);
-
- // Humangenetische Beratung aber keine Reevaluation
- testProcedure.setValue("humangenberatung", new Item("humangen_beratung", JaNeinUnbekannt.JA.getCode()));
- testProcedure.setValue("humangenberbegruendung", new Item("humangen_ber_begruendung", "Das ist die Begründung"));
- testProcedure.setValue("reevaluation", new Item("reevaluation", JaNeinUnbekannt.NEIN.getCode()));
-
- this.service.updateRequiredMtbEntries(testProcedure);
-
- var captor = ArgumentCaptor.forClass(Procedure.class);
- verify(onkostarApi, times(1)).saveProcedure(captor.capture(), anyBoolean());
-
- var capturedProcedure = captor.getValue();
-
- assertThat(capturedProcedure.getValue("reftkreevaluation")).isNull();
- assertThat(capturedProcedure.getValue("datumtkreevaluation")).isNull();
-
- assertThat(capturedProcedure.getValue("reftkhumangenber")).isNotNull();
- assertThat(capturedProcedure.getValue("reftkhumangenber").getInt()).isEqualTo(procedureId);
- assertThat(capturedProcedure.getValue("datumtkhumangenber")).isNotNull();
- assertThat(capturedProcedure.getValue("datumtkhumangenber").getDate()).isEqualTo(testDate);
- }
-
- @Test
- void shouldUpdateSectionsIfNoHumanGenConsultation() throws Exception {
- var testProcedure = baseProcedure(onkostarApi);
-
- // Humangenetische Beratung aber keine Reevaluation
- testProcedure.setValue("humangenberatung", new Item("humangen_beratung", JaNeinUnbekannt.NEIN.getCode()));
- testProcedure.setValue("reevaluation", new Item("reevaluation", JaNeinUnbekannt.JA.getCode()));
-
- this.service.updateRequiredMtbEntries(testProcedure);
-
- var captor = ArgumentCaptor.forClass(Procedure.class);
- verify(onkostarApi, times(1)).saveProcedure(captor.capture(), anyBoolean());
-
- var capturedProcedure = captor.getValue();
-
- assertThat(capturedProcedure.getValue("reftkhumangenber")).isNull();
- assertThat(capturedProcedure.getValue("datumtkhumangenber")).isNull();
-
- assertThat(capturedProcedure.getValue("reftkreevaluation")).isNotNull();
- assertThat(capturedProcedure.getValue("reftkreevaluation").getInt()).isEqualTo(procedureId);
- assertThat(capturedProcedure.getValue("datumtkreevaluation")).isNotNull();
- assertThat(capturedProcedure.getValue("datumtkreevaluation").getDate()).isEqualTo(testDate);
- }
-
- @Test
- void shouldFindFollowUps() {
- doAnswer(invocationOnMock -> {
- var testProcedure = baseProcedure(onkostarApi);
- testProcedure.setId(procedureId);
- testProcedure.setFormName("DNPM UF Einzelempfehlung");
- testProcedure.addDiseaseId(123);
- return testProcedure;
- }).when(onkostarApi).getProcedure(anyInt());
-
- doAnswer(invocationOnMock -> {
- var diseaseId = invocationOnMock.getArgument(0, Integer.class);
- var formName = invocationOnMock.getArgument(1, String.class);
- var procedure = baseProcedure(onkostarApi);
- procedure.addDiseaseId(diseaseId);
- procedure.setFormName(formName);
- procedure.setValue("LinkTherapieempfehlung", new Item("LinkTherapieempfehlung", procedureId));
- return List.of(procedure);
- }).when(onkostarApi).getProceduresForDiseaseByForm(anyInt(), anyString());
-
- var followUps = this.service.findReferencedFollowUpsForSubform(1);
-
- assertThat(followUps).hasSize(1)
- .allSatisfy(procedure -> assertThat(procedure.getFormName()).isEqualTo("DNPM FollowUp"));
- }
-
- @Test
- void shouldFindFollowUpsById() {
- var testProcedure = baseProcedure(onkostarApi);
- testProcedure.setId(procedureId);
- testProcedure.setFormName("DNPM UF Einzelempfehlung");
- testProcedure.addDiseaseId(123);
-
- doAnswer(invocationOnMock -> {
- var diseaseId = invocationOnMock.getArgument(0, Integer.class);
- var formName = invocationOnMock.getArgument(1, String.class);
- var procedure = baseProcedure(onkostarApi);
- procedure.addDiseaseId(diseaseId);
- procedure.setFormName(formName);
- procedure.setValue("LinkTherapieempfehlung", new Item("LinkTherapieempfehlung", procedureId));
- return List.of(procedure);
- }).when(onkostarApi).getProceduresForDiseaseByForm(anyInt(), anyString());
-
- var followUps = this.service.findReferencedFollowUpsForSubform(testProcedure);
-
- assertThat(followUps).hasSize(1)
- .allSatisfy(procedure -> assertThat(procedure.getFormName()).isEqualTo("DNPM FollowUp"));
- }
-
- private static final int procedureId = 1234;
- private static final Date testDate = Date.from(Instant.parse("2023-03-15T09:43:00Z"));
-
- private Procedure baseProcedure(final IOnkostarApi onkostarApi) {
- var testProcedure = new Procedure(onkostarApi);
- testProcedure.setId(1000);
-
- // Setzen MTB Referenz und Datum MTB
- testProcedure.setValue("referstemtb", new Item("ref_tumorkonferenz", procedureId));
- testProcedure.setValue("datum", new Item("datum", testDate));
-
- return testProcedure;
- }
-
-}
diff --git a/src/test/java/dev/dnpm/services/therapieplan/TherapieplanServiceFactoryTest.java b/src/test/java/dev/dnpm/services/therapieplan/TherapieplanServiceFactoryTest.java
deleted file mode 100644
index 0a341a3..0000000
--- a/src/test/java/dev/dnpm/services/therapieplan/TherapieplanServiceFactoryTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package dev.dnpm.services.therapieplan;
-
-import de.itc.onkostar.api.IOnkostarApi;
-import dev.dnpm.services.FormService;
-import dev.dnpm.services.SettingsService;
-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 static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.when;
-
-@ExtendWith(MockitoExtension.class)
-class TherapieplanServiceFactoryTest {
-
- private SettingsService settingsService;
-
- private TherapieplanServiceFactory therapieplanServiceFactory;
-
- @BeforeEach
- void setup(
- @Mock IOnkostarApi onkostarApi,
- @Mock SettingsService settingsService,
- @Mock FormService formService
- ) {
- this.settingsService = settingsService;
- this.therapieplanServiceFactory = new TherapieplanServiceFactory(onkostarApi, settingsService, formService);
- }
-
- @Test
- void testShouldReturnDefaultTherapieplanServiceIfSettingIsFalse() {
- when(settingsService.multipleMtbsInMtbEpisode()).thenReturn(false);
-
- var actual = this.therapieplanServiceFactory.currentUsableInstance();
-
- assertThat(actual).isInstanceOf(DefaultTherapieplanService.class);
- }
-
- @Test
- void testShouldReturnMultipleMtbTherapieplanServiceIfSettingIsTrue() {
- when(settingsService.multipleMtbsInMtbEpisode()).thenReturn(true);
-
- var actual = this.therapieplanServiceFactory.currentUsableInstance();
-
- assertThat(actual).isInstanceOf(MultipleMtbTherapieplanService.class);
- }
-}