1
0
mirror of https://github.com/pcvolkmer/onkostar-plugin-dnpm.git synced 2025-07-03 01:32:55 +00:00

Tests für DNPMHelper#getProzedurenFromDiagnose() hinzugefügt

Zum Ausführen dieser Tests musste in der Onkostar-API fehlende Funktionalität für das
ObjectMapping in JSON nachgebildet werden. Hierzu wurden zwei Dummy-Klassen angelegt,
die jeweils `null` zurückgeben. Ohne diese Klassen und Methoden, welche in der OS-API
referenziert werden, ist ein Ausführen der Tests nicht möglich und es werden eine
ClassNotFoundException bzw. MethodNotFoundException geworfen.
This commit is contained in:
2023-03-29 13:14:26 +02:00
parent 2402a1ff01
commit b87a012d80
3 changed files with 89 additions and 0 deletions

View File

@ -2,6 +2,8 @@ package DNPM;
import DNPM.services.systemtherapie.SystemtherapieService;
import de.itc.onkostar.api.IOnkostarApi;
import de.itc.onkostar.api.Item;
import de.itc.onkostar.api.Procedure;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
@ -13,7 +15,9 @@ import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static org.assertj.core.api.Assertions.assertThat;
@ -150,6 +154,53 @@ class DNPMHelperTest {
dnpmHelper.getProzedurenFromDiagnose(Map.of("dataForm", "OS.Example", "DiagnoseId", 1, "PatientId", 2));
verify(onkostarApi, times(1)).getProceduresByPatientId(anyInt());
}
@Test
void testShouldNotReturnProceduresNotRelatedToDisease() {
doAnswer(invocationOnMock -> {
var procedure = new Procedure(onkostarApi);
procedure.setFormName("OS.Example1");
procedure.setId(11);
procedure.addDiseaseId(4711);
procedure.setValue("formfield", new Item("formfield", "Wert11"));
return List.of(procedure);
}).when(onkostarApi).getProceduresByPatientId(anyInt());
var actual = dnpmHelper.getProzedurenFromDiagnose(Map.of("dataForm", "OS.Example", "DiagnoseId", 1, "PatientId", 2));
assertThat(actual).isEqualTo("[]");
}
@Test
void testShouldReturnProcedures() {
doAnswer(invocationOnMock -> {
var procedure1 = new Procedure(onkostarApi);
procedure1.setFormName("OS.Example1");
procedure1.setId(11);
procedure1.addDiseaseId(1);
procedure1.setStartDate(new Date());
procedure1.setValue("formfield", new Item("formfield", "Wert11"));
var procedure2 = new Procedure(onkostarApi);
procedure2.setFormName("OS.Example2");
procedure2.setId(21);
procedure2.addDiseaseId(1);
procedure2.setStartDate(new Date());
procedure2.setValue("formfield", new Item("formfield", "Wert21"));
var procedure3 = new Procedure(onkostarApi);
procedure3.setFormName("OS.Example1");
procedure3.setId(12);
procedure3.addDiseaseId(1);
procedure3.setStartDate(new Date());
procedure3.setValue("formfield", new Item("formfield", "Wert12"));
return List.of(procedure1, procedure2, procedure3);
}).when(onkostarApi).getProceduresByPatientId(anyInt());
var actual = dnpmHelper.getProzedurenFromDiagnose(Map.of("dataForm", "OS.Example", "DiagnoseId", 1, "PatientId", 2));
assertThat(actual).contains("OS.Example1", "OS.Example2", "Wert11", "Wert21", "Wert12");
}
}
@Nested

View File

@ -0,0 +1,16 @@
package de.itc.utils;
import java.util.Date;
/**
* Diese Klasse dient nur Testzwecken, da die Klasse und enthaltene(n) Methode(n) von der Onkostar-API
* benötigt und verwendet werden, nicht jedoch in der Onkostar-API-JAR enthalten sind.
* Das tatsächliche Verhalten innerhalb von Onkostar wird abweichen.
*/
public class DateFormats {
public static Date parseDate(String value) {
return null;
}
}

View File

@ -0,0 +1,22 @@
package de.itc.utils;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.LinkedHashMap;
/**
* Diese Klasse dient nur Testzwecken, da die Klasse und enthaltene(n) Methode(n) von der Onkostar-API
* benötigt und verwendet werden, nicht jedoch in der Onkostar-API-JAR enthalten sind.
* Das tatsächliche Verhalten innerhalb von Onkostar wird abweichen.
*/
public class MapUtilities {
public static ObjectMapper getObjectMapper() {
return null;
}
public static LinkedHashMap stringToMap(String value) {
return null;
}
}