From 05eae2367561e681e16cb2e16732cbee0af0042e Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Tue, 6 Aug 2024 09:01:48 +0200 Subject: [PATCH] OZG-6335 apply code review changes --- .../ozgcloud/alfa/common/command/Command.java | 6 +++-- .../WiedervorlageCommandController.java | 4 ++-- .../wiedervorlage/WiedervorlageService.java | 18 +++++++------- .../alfa/common/command/CommandTest.java | 22 +++++++++++++---- ...vorlageCommandByVorgangControllerTest.java | 4 ++-- .../WiedervorlageCommandControllerTest.java | 4 ++-- .../WiedervorlageServiceTest.java | 24 +++++++++---------- 7 files changed, 48 insertions(+), 34 deletions(-) diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/Command.java b/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/Command.java index ad178941ac..1a5d2ac5fd 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/Command.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/common/command/Command.java @@ -26,6 +26,8 @@ package de.ozgcloud.alfa.common.command; import java.time.ZonedDateTime; import java.util.Map; +import org.apache.commons.lang3.StringUtils; + import com.fasterxml.jackson.annotation.JsonIgnore; import de.ozgcloud.alfa.common.LinkedUserProfileResource; @@ -76,8 +78,8 @@ public class Command { } @JsonIgnore - public boolean isDoneSuccessfully() { - return status == CommandStatus.FINISHED; + public boolean isFinishedSuccessfully() { + return status == CommandStatus.FINISHED && StringUtils.isEmpty(errorMessage); } @JsonIgnore diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageCommandController.java b/alfa-service/src/main/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageCommandController.java index 08e6eab21d..2cc413979d 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageCommandController.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageCommandController.java @@ -53,7 +53,7 @@ public class WiedervorlageCommandController { @PathVariable long wiedervorlageVersion) { var wiedervorlage = service.getById(wiedervorlageId); var createdCommand = createCommand(wiedervorlage, command); - var doneCommand = service.updateNextFristOnSuccessfullyDoneCommand(createdCommand, wiedervorlage.getVorgangId()); + var doneCommand = service.updateNextFrist(createdCommand, wiedervorlage.getVorgangId()); return ResponseEntity.created(linkTo(CommandController.class).slash(doneCommand.getId()).toUri()).build(); } @@ -96,7 +96,7 @@ public class WiedervorlageCommandController { @PostMapping public ResponseEntity<Void> createWiedervorlage(@RequestBody CreateCommand command, @PathVariable String vorgangId) { var createdCommand = service.createWiedervorlage((Wiedervorlage) command.getBody(), vorgangId); - var doneCommand = service.updateNextFristOnSuccessfullyDoneCommand(createdCommand, createdCommand.getVorgangId()); + var doneCommand = service.updateNextFrist(createdCommand, createdCommand.getVorgangId()); return ResponseEntity.created(linkTo(CommandController.class).slash(doneCommand.getId()).toUri()).build(); } diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageService.java b/alfa-service/src/main/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageService.java index 9fd646607e..28f4795c36 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageService.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageService.java @@ -73,20 +73,20 @@ class WiedervorlageService { return remoteService.getById(wiedervorlageId); } - public void updateNextFrist(String vorgangId) { - var allWiedervorlagen = findByVorgangId(vorgangId); - - remoteService.updateNextFrist(vorgangId, calculateNextFrist(allWiedervorlagen)); - } - - Command updateNextFristOnSuccessfullyDoneCommand(Command command, String vorgangId) { + public Command updateNextFrist(Command command, String vorgangId) { var doneCommand = commandService.waitUntilDone(command); - if (doneCommand.isDoneSuccessfully()) { - updateNextFrist(vorgangId); + if (doneCommand.isFinishedSuccessfully()) { + doUpdateNextFrist(vorgangId); } return doneCommand; } + void doUpdateNextFrist(String vorgangId) { + var allWiedervorlagen = findByVorgangId(vorgangId); + + remoteService.updateNextFrist(vorgangId, calculateNextFrist(allWiedervorlagen)); + } + Optional<LocalDate> calculateNextFrist(Stream<Wiedervorlage> wiedervorlagen) { return wiedervorlagen .filter(Objects::nonNull) diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/common/command/CommandTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/common/command/CommandTest.java index 170c3a34fa..f36fbc385c 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/common/command/CommandTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/common/command/CommandTest.java @@ -11,27 +11,39 @@ import org.junit.jupiter.params.provider.EnumSource; import org.junit.jupiter.params.provider.EnumSource.Mode; import org.mockito.Mock; +import com.thedeanda.lorem.LoremIpsum; + class CommandTest { @Nested - class TestIsDoneSuccessfully { + class TestIsFinishedSuccessfully { @ParameterizedTest @EnumSource(names = "FINISHED") - public void shouldReturnTrue(CommandStatus commandStatus) { + void shouldReturnTrue(CommandStatus commandStatus) { var command = CommandTestFactory.createBuilder().status(commandStatus).build(); - var isDoneSuccessfully = command.isDoneSuccessfully(); + var isDoneSuccessfully = command.isFinishedSuccessfully(); assertThat(isDoneSuccessfully).isTrue(); } @ParameterizedTest @EnumSource(names = "FINISHED", mode = Mode.EXCLUDE) - public void shouldReturnFalse(CommandStatus commandStatus) { + void shouldReturnFalseOnStatusNotFinished(CommandStatus commandStatus) { var command = CommandTestFactory.createBuilder().status(commandStatus).build(); - var isDoneSuccessfully = command.isDoneSuccessfully(); + var isDoneSuccessfully = command.isFinishedSuccessfully(); + + assertThat(isDoneSuccessfully).isFalse(); + } + + @ParameterizedTest + @EnumSource + void shouldReturnFalseOnErrorMessage(CommandStatus commandStatus) { + var command = CommandTestFactory.createBuilder().status(commandStatus).errorMessage(LoremIpsum.getInstance().getWords(1)).build(); + + var isDoneSuccessfully = command.isFinishedSuccessfully(); assertThat(isDoneSuccessfully).isFalse(); } diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageCommandByVorgangControllerTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageCommandByVorgangControllerTest.java index 7c91a7687f..ef4a43f95f 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageCommandByVorgangControllerTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageCommandByVorgangControllerTest.java @@ -90,7 +90,7 @@ class WiedervorlageCommandByVorgangControllerTest { createCommand = CommandTestFactory.create(); doneCommand = createCommand.toBuilder().status(CommandStatus.FINISHED).build(); when(service.createWiedervorlage(any(), any())).thenReturn(createCommand); - when(service.updateNextFristOnSuccessfullyDoneCommand(createCommand, VorgangHeaderTestFactory.ID)).thenReturn(doneCommand); + when(service.updateNextFrist(createCommand, VorgangHeaderTestFactory.ID)).thenReturn(doneCommand); } @Nested @@ -108,7 +108,7 @@ class WiedervorlageCommandByVorgangControllerTest { void shouldUpdateNextFristOnSuccessfullyDoneCommand() { doRequest(); - verify(service).updateNextFristOnSuccessfullyDoneCommand(createCommand, VorgangHeaderTestFactory.ID); + verify(service).updateNextFrist(createCommand, VorgangHeaderTestFactory.ID); } @SneakyThrows diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageCommandControllerTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageCommandControllerTest.java index 7ecbfc74db..198f7a0053 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageCommandControllerTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageCommandControllerTest.java @@ -89,7 +89,7 @@ class WiedervorlageCommandControllerTest { .body(WiedervorlageTestFactory.createAsMap()).build(); doneCommand = createCommand.toBuilder().status(CommandStatus.FINISHED).build(); when(service.editWiedervorlage(any(), any(), anyLong())).thenReturn(createCommand); - when(service.updateNextFristOnSuccessfullyDoneCommand(createCommand, VorgangHeaderTestFactory.ID)).thenReturn(doneCommand); + when(service.updateNextFrist(createCommand, VorgangHeaderTestFactory.ID)).thenReturn(doneCommand); } @SneakyThrows @@ -104,7 +104,7 @@ class WiedervorlageCommandControllerTest { void shouldUpdateNextFristOnSuccessfullyDoneCommand() { doRequest(); - verify(service).updateNextFristOnSuccessfullyDoneCommand(createCommand, VorgangHeaderTestFactory.ID); + verify(service).updateNextFrist(createCommand, VorgangHeaderTestFactory.ID); } @SneakyThrows diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageServiceTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageServiceTest.java index b3d3ffd3fd..0479bb9094 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageServiceTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/wiedervorlage/WiedervorlageServiceTest.java @@ -173,7 +173,7 @@ class WiedervorlageServiceTest { } @Nested - class TestUpdateNextFrist { + class TestDoUpdateNextFrist { @Nested class ServiceMethod { @@ -207,7 +207,7 @@ class WiedervorlageServiceTest { } private void callUpdateNextFrist() { - service.updateNextFrist(VorgangHeaderTestFactory.ID); + service.doUpdateNextFrist(VorgangHeaderTestFactory.ID); } } @@ -257,15 +257,15 @@ class WiedervorlageServiceTest { } @Nested - class TestUpdateNextFristOnSuccessfullyDoneCommand { + class TestUpdateNextFrist { @Test - public void shouldWaitUntilCommandDone() { + void shouldWaitUntilCommandDone() { var pendingCommand = CommandTestFactory.createBuilder().status(CommandStatus.PENDING).build(); var command = CommandTestFactory.create(); when(commandService.waitUntilDone(command)).thenReturn(pendingCommand); - service.updateNextFristOnSuccessfullyDoneCommand(command, VorgangHeaderTestFactory.ID); + service.updateNextFrist(command, VorgangHeaderTestFactory.ID); verify(commandService).waitUntilDone(command); } @@ -276,7 +276,7 @@ class WiedervorlageServiceTest { var command = CommandTestFactory.create(); when(commandService.waitUntilDone(command)).thenReturn(errorCommand); - var result = service.updateNextFristOnSuccessfullyDoneCommand(command, VorgangHeaderTestFactory.ID); + var result = service.updateNextFrist(command, VorgangHeaderTestFactory.ID); assertThat(result).isEqualTo(errorCommand); } @@ -292,10 +292,10 @@ class WiedervorlageServiceTest { } @Test - public void shouldUpdateNextFrist() { - service.updateNextFristOnSuccessfullyDoneCommand(command, VorgangHeaderTestFactory.ID); + void shouldUpdateNextFrist() { + service.updateNextFrist(command, VorgangHeaderTestFactory.ID); - verify(service).updateNextFrist(VorgangHeaderTestFactory.ID); + verify(service).doUpdateNextFrist(VorgangHeaderTestFactory.ID); } } @@ -310,10 +310,10 @@ class WiedervorlageServiceTest { } @Test - public void shouldNotUpdateNextFrist() { - service.updateNextFristOnSuccessfullyDoneCommand(command, VorgangHeaderTestFactory.ID); + void shouldNotUpdateNextFrist() { + service.updateNextFrist(command, VorgangHeaderTestFactory.ID); - verify(service, never()).updateNextFrist(VorgangHeaderTestFactory.ID); + verify(service, never()).doUpdateNextFrist(VorgangHeaderTestFactory.ID); } } -- GitLab