diff --git a/vorgang-manager-command/src/main/java/de/ozgcloud/command/VorgangForwardedEvent.java b/vorgang-manager-command/src/main/java/de/ozgcloud/command/VorgangForwardedEvent.java new file mode 100644 index 0000000000000000000000000000000000000000..6b928f2ad29b14129bdd7e9ca4d6d511da8e80a1 --- /dev/null +++ b/vorgang-manager-command/src/main/java/de/ozgcloud/command/VorgangForwardedEvent.java @@ -0,0 +1,9 @@ +package de.ozgcloud.command; + +public class VorgangForwardedEvent extends CommandExecutedEvent { + + public VorgangForwardedEvent(Command command) { + super(command); + } + +} diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingEventListener.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingEventListener.java index 7303a7b8517aba740e58a4a295afc01bc6b4001e..021d909dea1a32df46f88813fc1143228c8daba0 100644 --- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingEventListener.java +++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingEventListener.java @@ -33,6 +33,7 @@ import org.springframework.stereotype.Component; import de.ozgcloud.command.Command; import de.ozgcloud.command.CommandCreatedEvent; import de.ozgcloud.command.CommandFailedEvent; +import de.ozgcloud.command.VorgangForwardedEvent; import de.ozgcloud.command.VorgangLockedEvent; import de.ozgcloud.nachrichten.email.MailSendErrorEvent; import de.ozgcloud.nachrichten.email.MailSendRequest; @@ -104,6 +105,7 @@ public class ForwardingEventListener { lockVorgangOnForwarding(command); service.forward(incrementVersion(forwardingRequestMapper.fromCommand(command))); publisher.publishEvent(new VorgangLockedEvent(command)); + publisher.publishEvent(new VorgangForwardedEvent(command)); } private void lockVorgangOnForwarding(Command command) { diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingEventListenerTest.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingEventListenerTest.java index 529d4a09a7761f8e182b80fb6f2a5774cad2fdf9..73425da234434d090bbb5962358a0c368dc4a879 100644 --- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingEventListenerTest.java +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/vorgang/redirect/ForwardingEventListenerTest.java @@ -45,6 +45,7 @@ import com.thedeanda.lorem.LoremIpsum; import de.ozgcloud.command.Command; import de.ozgcloud.command.CommandCreatedEvent; import de.ozgcloud.command.CommandFailedEvent; +import de.ozgcloud.command.VorgangForwardedEvent; import de.ozgcloud.command.VorgangLockedEvent; import de.ozgcloud.common.errorhandling.TechnicalException; import de.ozgcloud.nachrichten.email.MailSentEventTestFactory; @@ -150,6 +151,8 @@ class ForwardingEventListenerTest { @Captor private ArgumentCaptor<VorgangLockedEvent> lockedEventCaptor; @Captor + private ArgumentCaptor<VorgangForwardedEvent> forwardedEventCaptor; + @Captor private ArgumentCaptor<ForwardingRequest> requestCaptor; @BeforeEach @@ -206,6 +209,14 @@ class ForwardingEventListenerTest { assertThat(lockedEventCaptor.getValue().getCommand()).isSameAs(command); } + @Test + void shouldPublishVorgangForwardedEvent() { + handleForwardVorgangCommand(); + + verify(publisher).publishEvent(forwardedEventCaptor.capture()); + assertThat(forwardedEventCaptor.getValue().getCommand()).isSameAs(command); + } + private void handleForwardVorgangCommand() { listener.handleForwardVorgangCommand(command); }