public async Task discard_resolver() { var store = new Moq.Mock <IStoreEvents>(); var fullevent = new Moq.Mock <IFullEvent>(); fullevent.Setup(x => x.Event).Returns(new Event()); _store.Setup(x => x.WriteEvents <FakeEntity>(Moq.It.IsAny <string>(), Moq.It.IsAny <Id>(), Moq.It.IsAny <Id[]>(), Moq.It.IsAny <IFullEvent[]>(), Moq.It.IsAny <IDictionary <string, string> >(), Moq.It.IsAny <long?>())) .Returns(Task.FromResult(0L)); store.Setup( x => x.WriteEvents("test", new[] { fullevent.Object }, Moq.It.IsAny <IDictionary <string, string> >(), null)) .Returns(Task.FromResult(0L)); // Discards all conflicted events, doesn't save var resolver = new DiscardConflictResolver(); var entity = new FakeEntity(); await resolver.Resolve <FakeEntity, FakeState>(entity, new[] { fullevent.Object }, Guid.NewGuid(), new Dictionary <string, string>()) .ConfigureAwait(false); _store.Verify(x => x.WriteEvents <FakeEntity>(Moq.It.IsAny <string>(), Moq.It.IsAny <Id>(), Moq.It.IsAny <Id[]>(), Moq.It.IsAny <IFullEvent[]>(), Moq.It.IsAny <IDictionary <string, string> >(), Moq.It.IsAny <long?>()), Moq.Times.Never); store.Verify( x => x.WriteEvents(Moq.It.IsAny <string>(), Moq.It.IsAny <IFullEvent[]>(), Moq.It.IsAny <IDictionary <string, string> >(), null), Moq.Times.Never); }
async Task DiscardConflictResolverDoesntThrowOrSave() { var store = Fake <IStoreEvents>(); var sut = new DiscardConflictResolver(); await sut.Resolve <FakeEntity, FakeState>(Fake <FakeEntity>(), Fake <Guid>(), Fake <Dictionary <string, string> >()).ConfigureAwait(false); A.CallTo(() => store.WriteEvents <FakeEntity>(A <string> .Ignored, A <Id> .Ignored, A <Id[]> .Ignored, A <IFullEvent[]> .Ignored, A <Dictionary <string, string> > .Ignored, A <long?> .Ignored)) .Should().NotHaveHappened(); }