public async Task OnEventsDispatched_When_Defined_OnEventDispatched_Should_Not_BeCalled() { bool simpleCalled = false; bool multipleCalled = false; Func <IEnumerable <IDomainEvent>, Task> lambdaMulti = async(e) => multipleCalled = true; Func <IDomainEvent, Task> lambda = async(e) => simpleCalled = true; try { var evt1 = new EventDispatchedOne(); var evt2 = new EventDispatchedTwo(); var collection = new BaseDomainEvent[] { evt1, evt2 }; CoreDispatcher.OnEventDispatched += lambda; CoreDispatcher.OnEventsDispatched += lambdaMulti; await CoreDispatcher.PublishEventsRangeAsync(collection); simpleCalled.Should().BeFalse(); multipleCalled.Should().BeTrue(); } finally { CoreDispatcher.OnEventDispatched -= lambda; CoreDispatcher.OnEventsDispatched -= lambdaMulti; } }
public async Task OnEventDispatched_Should_Be_Called_On_Publish() { bool called = false; Func <IDomainEvent, Task> lambda = async(e) => called = true; try { var evt1 = new EventDispatchedOne(); CoreDispatcher.OnEventDispatched += lambda; await CoreDispatcher.PublishEventAsync(evt1); called.Should().BeTrue(); } finally { CoreDispatcher.OnEventDispatched -= lambda; } }