use of io.spine.server.aggregate.given.AggregateMessageDeliveryTestEnv.PostponingEventDelivery in project core-java by SpineEventEngine.
the class AggregateMessageDeliveryShould method postpone_events_dispatched_to_reactor_method.
@Test
public void postpone_events_dispatched_to_reactor_method() {
assertNull(ReactingProject.getEventReceived());
final Event event = projectStarted();
boundedContext.getEventBus().post(event);
assertNull(ReactingProject.getEventReceived());
final EventEnvelope expectedEnvelope = EventEnvelope.of(event);
final PostponingEventDelivery delivery = repository.getEventEndpointDelivery();
final Map<ProjectId, EventEnvelope> postponedEvents = delivery.getPostponedEvents();
assertTrue(postponedEvents.size() == 1 && postponedEvents.containsValue(expectedEnvelope));
final ProjectId projectId = postponedEvents.keySet().iterator().next();
delivery.deliverNow(projectId, postponedEvents.get(projectId));
final AggProjectStarted deliveredEventMsg = ReactingProject.getEventReceived();
assertNotNull(deliveredEventMsg);
assertEquals(Events.getMessage(event), deliveredEventMsg);
}
Aggregations