public void AggregateRoot_PublishAndApplyEventAsync2ShouldThrowExceptionIfApplyEventMethodDoesntExist() { var guid = Guid.NewGuid(); var @event = new TestEvent2(); var aggregateBus = new Mock<IAggregateBus>(); aggregateBus.Setup(x => x.PublishAsync<TestAggregateRoot, TestEvent2>(guid, @event)).Returns(Task.FromResult<object>(null)).Verifiable(); var testAggregateRoot = new TestAggregateRoot(aggregateBus.Object, guid); testAggregateRoot.Awaiting(x => x.PublishAndApplyEventAsync<TestEvent2>(@event)).ShouldThrow<ApplicationException>(); testAggregateRoot.WasApplyEventCalled.Should().BeFalse(); }
public void AggregateRoot_PublishAndApplyEventAsyncShouldCallApplyEventIfExists() { var guid = Guid.NewGuid(); var @event = new TestEvent2(); var aggregateBus = new Mock<IAggregateBus>(); aggregateBus.Setup(x => x.PublishAsync<TestAggregateRoot, TestEvent2>(guid, @event)).Returns(Task.FromResult<object>(null)).Verifiable(); var testAggregateRoot = new TestAggregateRoot(aggregateBus.Object, guid); testAggregateRoot.Awaiting(x => x.PublishAndApplyEventAsync<TestAggregateRoot, TestEvent>(new TestEvent())).ShouldNotThrow(); testAggregateRoot.WasApplyEventCalled.Should().BeTrue(); }