SagaTestFixtureBuilder
|
class SagaTestFixtureBuilder FixtureExecutionResult validator = fixture
.givenAggregate(aggregate1).published(
GenericEventMessage.asEventMessage(new TriggerSagaStartEvent(aggregate1)), new TriggerExistingSagaEvent(aggregate1))
.andThenAggregate(aggregate2).published(new TriggerSagaStartEvent(aggregate2))
.whenAggregate(aggregate1).publishes(new TriggerSagaEndEvent(aggregate1))
validator.expectActiveSagas(1)
validator.expectAssociationWith("identifier", aggregate2)
validator.expectNoAssociationWith("identifier", aggregate1)
validator.expectScheduledEventOfType(Duration.ofMinutes(10), TimerTriggeredEvent::class.java)
validator.expectScheduledEventMatching(Duration.ofMinutes(10), messageWithPayload(CoreMatchers.any(TimerTriggeredEvent::class.java)))
validator.expectScheduledEvent(Duration.ofMinutes(10), TimerTriggeredEvent(aggregate1))
validator.expectScheduledEventOfType(fixture.currentTime().plusSeconds(600), TimerTriggeredEvent::class.java)
validator.expectScheduledEventMatching(fixture.currentTime().plusSeconds(600), messageWithPayload(CoreMatchers.any(TimerTriggeredEvent::class.java)))
validator.expectScheduledEvent(fixture.currentTime().plusSeconds(600), TimerTriggeredEvent(aggregate1))
validator.expectDispatchedCommands()
validator.expectNoDispatchedCommands()
validator.expectPublishedEventsMatching(noEvents())
|