diff options
| author | Paul-Christian Volkmer | 2023-03-15 12:01:50 +0100 |
|---|---|---|
| committer | Paul-Christian Volkmer | 2023-03-15 12:01:50 +0100 |
| commit | f09826a8fff78361de9cbe5eccdfffb86a6e610a (patch) | |
| tree | b3f8e2dda25b6ba670b483e8bb760d7f6e97bb2b /src/test/java/DNPM/analyzer/TherapieplanAnalyzerTest.java | |
| parent | c6c1ebdfbbf8a0cf9f3faa5a41e21309f64bed46 (diff) | |
Verwende Spring Configuration zur Pluginkonfiguration
Dies erlaubt eine dynamische Konfiguration der zu verwendenden Service-Implementierungen
mit Anpassungen je nach Standort oder Einstellungen.
Diffstat (limited to 'src/test/java/DNPM/analyzer/TherapieplanAnalyzerTest.java')
| -rw-r--r-- | src/test/java/DNPM/analyzer/TherapieplanAnalyzerTest.java | 112 |
1 files changed, 9 insertions, 103 deletions
diff --git a/src/test/java/DNPM/analyzer/TherapieplanAnalyzerTest.java b/src/test/java/DNPM/analyzer/TherapieplanAnalyzerTest.java index 655c7d6..6196437 100644 --- a/src/test/java/DNPM/analyzer/TherapieplanAnalyzerTest.java +++ b/src/test/java/DNPM/analyzer/TherapieplanAnalyzerTest.java @@ -1,11 +1,9 @@ package DNPM.analyzer; -import DNPM.services.FormService; import DNPM.services.StudienService; +import DNPM.services.TherapieplanService; 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 org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -13,14 +11,13 @@ 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.HashMap; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.*; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; @ExtendWith(MockitoExtension.class) public class TherapieplanAnalyzerTest { @@ -29,99 +26,23 @@ public class TherapieplanAnalyzerTest { private IOnkostarApi onkostarApi; @Mock - private FormService formService; + private StudienService studienService; @Mock - private StudienService studienService; + private TherapieplanService therapieplanService; private TherapieplanAnalyzer therapieplanAnalyzer; @BeforeEach void setUp() { - this.therapieplanAnalyzer = new TherapieplanAnalyzer(onkostarApi, formService, studienService); + this.therapieplanAnalyzer = new TherapieplanAnalyzer(studienService, therapieplanService); } @Test - void shouldNotUpdateSubformsOrSectionsIfMultipleMtbConfiguration() throws Exception { - doAnswer(invocationOnMock -> { - var settingName = invocationOnMock.getArgument(0, String.class); - if (settingName.equals("mehrere_mtb_in_mtbepisode")) { - return "true"; - } - return null; - }).when(onkostarApi).getGlobalSetting(anyString()); - + void shouldRunServiceMethodsOnAnalyzeCalled() { this.therapieplanAnalyzer.analyze(new Procedure(onkostarApi), null); - verify(onkostarApi, never()).saveProcedure(any(Procedure.class), anyBoolean()); - } - - @Test - void shouldNotUpdateSectionsIfSectionsNotEnabled() throws Exception { - when(onkostarApi.getGlobalSetting(anyString())).thenReturn(null); - - 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.therapieplanAnalyzer.analyze(testProcedure, null); - - verify(onkostarApi, never()).saveProcedure(any(Procedure.class), anyBoolean()); - } - - @Test - void shouldUpdateSectionsIfNoReevaluation() throws Exception { - when(onkostarApi.getGlobalSetting(anyString())).thenReturn(null); - - 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.therapieplanAnalyzer.analyze(testProcedure, null); - - 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 { - when(onkostarApi.getGlobalSetting(anyString())).thenReturn(null); - - 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.therapieplanAnalyzer.analyze(testProcedure, null); - - 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); + verify(this.therapieplanService, times(1)).updateRequiredMtbEntries(any(Procedure.class)); } @Test @@ -150,19 +71,4 @@ public class TherapieplanAnalyzerTest { assertThat(captor.getValue()).isEqualTo("NCT-123"); } - - 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; - } - } |
