summaryrefslogtreecommitdiff
path: root/src/test/java/DNPM/DNPMHelperTest.java
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2023-03-22 12:04:10 +0100
committerPaul-Christian Volkmer2023-03-22 12:04:10 +0100
commita80295c4c884d779bf4d2578e737579ead0ebe71 (patch)
treed9f020cfb549fc12c6a2ce78002b447496056ded /src/test/java/DNPM/DNPMHelperTest.java
parent3f3a23ccd2d61b4c6a1c9016d0de3a78ec35b853 (diff)
Extraktion des Mappings Prozedur zu Prozedurwerten und Auswahl des Mappers
Aktuell sind nur die beiden Formulare * OS.Systemische Therapie * OS.Systemische Therapie.VarianteUKW bekannt. Beide lassen sich über den extrahierten Mapper in eine Map mit Prozedurwerten mappen.
Diffstat (limited to 'src/test/java/DNPM/DNPMHelperTest.java')
-rw-r--r--src/test/java/DNPM/DNPMHelperTest.java73
1 files changed, 14 insertions, 59 deletions
diff --git a/src/test/java/DNPM/DNPMHelperTest.java b/src/test/java/DNPM/DNPMHelperTest.java
index f5f8c40..f9a03fb 100644
--- a/src/test/java/DNPM/DNPMHelperTest.java
+++ b/src/test/java/DNPM/DNPMHelperTest.java
@@ -1,89 +1,44 @@
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.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 java.util.ArrayList;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
@ExtendWith(MockitoExtension.class)
public class DNPMHelperTest {
- private IOnkostarApi onkostarApi;
+ private SystemtherapieService systemtherapieService;
private DNPMHelper dnpmHelper;
@BeforeEach
void setup(
- @Mock IOnkostarApi onkostarApi
+ @Mock IOnkostarApi onkostarApi,
+ @Mock SystemtherapieService systemtherapieService
) {
- this.onkostarApi = onkostarApi;
- this.dnpmHelper = new DNPMHelper(onkostarApi);
+ this.systemtherapieService = systemtherapieService;
+ this.dnpmHelper = new DNPMHelper(onkostarApi, systemtherapieService);
}
@Test
- void testShouldReturnSystemischeTherapienFromDiagnose() {
- doAnswer(invocationOnMock -> {
- 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"));
+ void testShouldRequestSystemischeTherapienFromDiagnose() {
+ dnpmHelper.getSystemischeTherapienFromDiagnose(Map.of("DiagnoseId", 1234));
- 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));
-
- return List.of(procedure);
- }).when(this.onkostarApi).getProceduresForDiseaseByForm(anyInt(), anyString());
-
- var actual = dnpmHelper.getSystemischeTherapienFromDiagnose(Map.of("DiagnoseId", 1));
-
- assertThat(actual).isNotNull();
- assertThat(actual).isExactlyInstanceOf(ArrayList.class);
- assertThat(actual).hasSize(1);
-
- assertThat(actual.get(0).get("Beginn"))
- .isEqualTo(Date.from(Instant.parse("2023-01-01T00:00:00Z")).toString());
- assertThat(actual.get(0).get("Ende"))
- .isEqualTo(Date.from(Instant.parse("2023-01-31T00:00:00Z")).toString());
- assertThat(actual.get(0).get("Beendigung"))
- .isEqualTo("E");
- assertThat(actual.get(0).get("Ergebnis"))
- .isEqualTo("T");
- assertThat(actual.get(0).get("Wirkstoffe"))
- .isEqualTo("Testsubstanz, cyclophosphamide");
- assertThat(actual.get(0).get("WirkstoffCodes"))
- .isEqualTo(
- "[" +
- "{\"system\":\"other\",\"code\":\"Testsubstanz\",\"substance\":\"Testsubstanz\"}," +
- "{\"system\":\"ATC\",\"code\":\"L01AA01\",\"substance\":\"cyclophosphamide\"}" +
- "]"
- );
+ var captor = ArgumentCaptor.forClass(Integer.class);
+ verify(systemtherapieService, times(1)).getSystemischeTherapienFromDiagnose(captor.capture());
+ assertThat(captor.getValue()).isEqualTo(1234);
}
@Test