diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/historie/StatusChangeHistoryBuilderTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/historie/StatusChangeHistoryBuilderTest.java index d29f4d2b7d5aec54469268bc304b8bea16a87a6f..487a621004880842ccd936a34b3e118f537a3722 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/historie/StatusChangeHistoryBuilderTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/historie/StatusChangeHistoryBuilderTest.java @@ -23,7 +23,6 @@ import de.ozgcloud.alfa.common.command.Command; import de.ozgcloud.alfa.common.command.CommandOrder; import de.ozgcloud.alfa.common.command.CommandTestFactory; import de.ozgcloud.alfa.vorgang.Vorgang.VorgangStatus; -import de.ozgcloud.common.errorhandling.TechnicalException; public class StatusChangeHistoryBuilderTest { @@ -81,7 +80,7 @@ public class StatusChangeHistoryBuilderTest { void shouldReturnFalse(CommandOrder order) { var isStatusChangeCommand = builder.isStatusChangeCommand(CommandTestFactory.createBuilder().order(order).build()); - assertThat(isStatusChangeCommand).isTrue(); + assertThat(isStatusChangeCommand).isFalse(); } } @@ -131,6 +130,7 @@ public class StatusChangeHistoryBuilderTest { private final CommandWithPrevious commandWithPrevious = new CommandWithPrevious( command, Optional.of(new CommandWithPrevious(previousCommand, Optional.empty()))); + private final CommandWithPrevious commandWithoutPrevious = new CommandWithPrevious(command, Optional.empty()); @Test void shouldReturnStatusBeforeChange() { @@ -144,7 +144,7 @@ public class StatusChangeHistoryBuilderTest { @Test void shouldReturnDefaultValue() { - var status = builder.getStatusBeforeChange(commandWithPrevious); + var status = builder.getStatusBeforeChange(commandWithoutPrevious); assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.NEU)); } @@ -156,18 +156,81 @@ public class StatusChangeHistoryBuilderTest { private final CommandWithPrevious commandWithPrevious = new CommandWithPrevious(command0105, Optional.empty()); @Test - void shouldReturnChangedFromStatus() { - var expectedStatus = LoremIpsum.getInstance().getWords(2); + void shouldReturnStatusAfterChange() { + var status = "Status"; + doReturn(status).when(builder).getStatus(command0105); + + var statusAfterChange = builder.getStatusAfterChange(commandWithPrevious); + + assertThat(statusAfterChange).isEqualTo(status); + } + } + + @Nested + class TestGetStatus { + + @ParameterizedTest + @EnumSource(mode = Mode.INCLUDE, names = { "VORGANG_ANNEHMEN", "VORGANG_ZURUECKSTELLEN" }) + void shouldReturnAngenommen(CommandOrder order) { + var status = builder.getStatus(CommandTestFactory.createBuilder().order(order).build()); + + assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ANGENOMMEN)); + } + + @Test + void shouldReturnVerworfen() { + var status = builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.VORGANG_VERWERFEN).build()); + + assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.VERWORFEN)); + } + + @Test + void shouldReturnNeu() { + var status = builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.VORGANG_ZURUECKHOLEN).build()); + + assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.NEU)); + } + + @ParameterizedTest + @EnumSource(mode = Mode.INCLUDE, names = { "VORGANG_BEARBEITEN", "VORGANG_WIEDEREROEFFNEN" }) + void shouldReturnInBearbeitung(CommandOrder order) { + var status = builder.getStatus(CommandTestFactory.createBuilder().order(order).build()); + + assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.IN_BEARBEITUNG)); + } + + @Test + void shouldReturnBeschieden() { + var status = builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.VORGANG_BESCHEIDEN).build()); + + assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.BESCHIEDEN)); + } - var status = builder.getStatusAfterChange(commandWithPrevious); + @Test + void shouldReturnAbschliessen() { + var status = builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.VORGANG_ABSCHLIESSEN).build()); + + assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ABGESCHLOSSEN)); + } + + @Test + void shouldReturnZuLoeschen() { + var status = builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.VORGANG_ZUM_LOESCHEN_MARKIEREN).build()); + + assertThat(status).isEqualTo(StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ZU_LOESCHEN)); + } + + @Test + void shouldReturnGeloescht() { + var status = builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.VORGANG_LOESCHEN).build()); - assertThat(status).isEqualTo(expectedStatus); + assertThat(status).isEqualTo(StatusChangeHistoryBuilder.GELOESCHT_NAME); } @Test - void shouldThrowExceptionIfStatusIsEmpty() { - assertThatExceptionOfType(TechnicalException.class).isThrownBy(() -> builder.getStatusAfterChange(commandWithPrevious)) - .withMessageStartingWith("Unknown status after change for command " + command0105.getId()); + void shouldtThrowIllegalArgumentException() { + assertThatThrownBy(() -> builder.getStatus(CommandTestFactory.createBuilder().order(CommandOrder.ASSIGN_USER).build())).isInstanceOf( + IllegalArgumentException.class); } } } diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/historie/VorgangChangeHistoryServiceITCase.java b/alfa-service/src/test/java/de/ozgcloud/alfa/historie/VorgangChangeHistoryServiceITCase.java index b2de1ac3d9ebda72acd97e3a1615206cee8466fb..b84be9a9db940b194d9fe30d344d2662dada23ba 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/historie/VorgangChangeHistoryServiceITCase.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/historie/VorgangChangeHistoryServiceITCase.java @@ -104,12 +104,24 @@ public class VorgangChangeHistoryServiceITCase { var history = service.createVorgangChangeHistory(vorgangWithEingang).getStatusChangeHistory(); assertThat(history).hasSize(6); - checkBeforeAndAfterValues(history.get(0), VorgangStatus.NEU.name(), VorgangStatus.ANGENOMMEN.name()); - checkBeforeAndAfterValues(history.get(1), VorgangStatus.ANGENOMMEN.name(), VorgangStatus.IN_BEARBEITUNG.name()); - checkBeforeAndAfterValues(history.get(2), VorgangStatus.IN_BEARBEITUNG.name(), VorgangStatus.BESCHIEDEN.name()); - checkBeforeAndAfterValues(history.get(3), VorgangStatus.BESCHIEDEN.name(), VorgangStatus.ABGESCHLOSSEN.name()); - checkBeforeAndAfterValues(history.get(4), VorgangStatus.ABGESCHLOSSEN.name(), VorgangStatus.ZU_LOESCHEN.name()); - checkBeforeAndAfterValues(history.get(5), VorgangStatus.ZU_LOESCHEN.name(), VorgangStatus.ABGESCHLOSSEN.name()); + checkBeforeAndAfterValues(history.get(0), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.NEU), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ANGENOMMEN)); + checkBeforeAndAfterValues(history.get(1), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ANGENOMMEN), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.IN_BEARBEITUNG)); + checkBeforeAndAfterValues(history.get(2), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.IN_BEARBEITUNG), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.BESCHIEDEN)); + checkBeforeAndAfterValues(history.get(3), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.BESCHIEDEN), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ABGESCHLOSSEN)); + checkBeforeAndAfterValues(history.get(4), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ABGESCHLOSSEN), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ZU_LOESCHEN)); + checkBeforeAndAfterValues(history.get(5), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ZU_LOESCHEN), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ABGESCHLOSSEN)); } @Test @@ -119,9 +131,15 @@ public class VorgangChangeHistoryServiceITCase { var history = service.createVorgangChangeHistory(vorgangWithEingang).getStatusChangeHistory(); assertThat(history).hasSize(3); - checkBeforeAndAfterValues(history.get(0), VorgangStatus.NEU.name(), VorgangStatus.VERWORFEN.name()); - checkBeforeAndAfterValues(history.get(1), VorgangStatus.VERWORFEN.name(), VorgangStatus.ZU_LOESCHEN.name()); - checkBeforeAndAfterValues(history.get(2), VorgangStatus.ZU_LOESCHEN.name(), VorgangStatus.VERWORFEN.name()); + checkBeforeAndAfterValues(history.get(0), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.NEU), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.VERWORFEN)); + checkBeforeAndAfterValues(history.get(1), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.VERWORFEN), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ZU_LOESCHEN)); + checkBeforeAndAfterValues(history.get(2), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.ZU_LOESCHEN), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.VERWORFEN)); } @Test @@ -131,8 +149,12 @@ public class VorgangChangeHistoryServiceITCase { var history = service.createVorgangChangeHistory(vorgangWithEingang).getStatusChangeHistory(); assertThat(history).hasSize(2); - checkBeforeAndAfterValues(history.get(0), VorgangStatus.NEU.name(), VorgangStatus.VERWORFEN.name()); - checkBeforeAndAfterValues(history.get(1), VorgangStatus.VERWORFEN.name(), VorgangStatus.NEU.name()); + checkBeforeAndAfterValues(history.get(0), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.NEU), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.VERWORFEN)); + checkBeforeAndAfterValues(history.get(1), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.VERWORFEN), + StatusChangeHistoryBuilder.VORGANG_STATUS_TO_NAME.get(VorgangStatus.NEU)); } @Test