From 887221d5aec7fbe32a86b705b33aa4b5d2fa7062 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Mon, 20 Mar 2023 16:43:07 +0100 Subject: Issue #11: Service zum Generieren des Protokollauszugs aus MTBs Implementierungen vorhanden für die Formulare: * OS.Tumorkonferenz * OS.Tumorkonferenz.VarianteUKW --- .../DNPM/services/mtb/DefaultMtbServiceTest.java | 110 +++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 src/test/java/DNPM/services/mtb/DefaultMtbServiceTest.java (limited to 'src/test/java/DNPM/services/mtb') diff --git a/src/test/java/DNPM/services/mtb/DefaultMtbServiceTest.java b/src/test/java/DNPM/services/mtb/DefaultMtbServiceTest.java new file mode 100644 index 0000000..6230edd --- /dev/null +++ b/src/test/java/DNPM/services/mtb/DefaultMtbServiceTest.java @@ -0,0 +1,110 @@ +package DNPM.services.mtb; + +import DNPM.services.SettingsService; +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.Arrays; +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.when; + +@ExtendWith(MockitoExtension.class) +public class DefaultMtbServiceTest { + + @Mock + private IOnkostarApi onkostarApi; + + @Mock + private SettingsService settingsService; + + private DefaultMtbService service; + + @BeforeEach + void setup() { + this.service = new DefaultMtbService(settingsService); + } + + @Test + void testShouldReturnMtbProtocolForDefaultImplementation() { + + when(settingsService.getSID()).thenReturn(Optional.of("12345")); + when(settingsService.multipleMtbsInMtbEpisode()).thenReturn(false); + + 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("Test ok?\nRerun Test if not ok!"); + } + + @Test + void testShouldReturnEmptyMtbProtocolForMultipleMtb() { + + when(settingsService.getSID()).thenReturn(Optional.of("12345")); + when(settingsService.multipleMtbsInMtbEpisode()).thenReturn(true); + + 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).isEmpty(); + } + + @Test + void testShouldReturnMtbProtocolForSID20119() { + when(settingsService.getSID()).thenReturn(Optional.of("20119")); + when(settingsService.multipleMtbsInMtbEpisode()).thenReturn(true); + + 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( + "Test ok?\nRerun Test if not ok!\nTest immer noch ok?\nDo not rerun Test if ok!" + ); + } + +} -- cgit v1.2.3 From 9809fd550f5ddd394081529318db6a5001b54bac Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Mon, 20 Mar 2023 22:18:37 +0100 Subject: Issue #11: Verwende Überschrift für Fragestellung und Empfehlung --- .../java/DNPM/services/mtb/DefaultMtbServiceTest.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src/test/java/DNPM/services/mtb') diff --git a/src/test/java/DNPM/services/mtb/DefaultMtbServiceTest.java b/src/test/java/DNPM/services/mtb/DefaultMtbServiceTest.java index 6230edd..073f25c 100644 --- a/src/test/java/DNPM/services/mtb/DefaultMtbServiceTest.java +++ b/src/test/java/DNPM/services/mtb/DefaultMtbServiceTest.java @@ -22,22 +22,24 @@ import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) public class DefaultMtbServiceTest { - @Mock private IOnkostarApi onkostarApi; - @Mock private SettingsService settingsService; private DefaultMtbService service; @BeforeEach - void setup() { + void setup( + @Mock IOnkostarApi onkostarApi, + @Mock SettingsService settingsService + ) { + this.onkostarApi = onkostarApi; + this.settingsService = settingsService; this.service = new DefaultMtbService(settingsService); } @Test void testShouldReturnMtbProtocolForDefaultImplementation() { - when(settingsService.getSID()).thenReturn(Optional.of("12345")); when(settingsService.multipleMtbsInMtbEpisode()).thenReturn(false); @@ -53,12 +55,11 @@ public class DefaultMtbServiceTest { var actual = service.getProtocol(procedures); - assertThat(actual).isEqualTo("Test ok?\nRerun Test if not ok!"); + assertThat(actual).isEqualTo("Fragestellung:\nTest ok?\n\nEmpfehlung:\nRerun Test if not ok!"); } @Test void testShouldReturnEmptyMtbProtocolForMultipleMtb() { - when(settingsService.getSID()).thenReturn(Optional.of("12345")); when(settingsService.multipleMtbsInMtbEpisode()).thenReturn(true); @@ -103,7 +104,8 @@ public class DefaultMtbServiceTest { var actual = service.getProtocol(procedures); assertThat(actual).isEqualTo( - "Test ok?\nRerun Test if not ok!\nTest immer noch ok?\nDo not rerun Test if ok!" + "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!" ); } -- cgit v1.2.3