public async Task UpdateReadmodelHandler() { EntityGuid = Guid.NewGuid(); var queryRepository = new ReadModelRepositoryMongoDb(EventMongoDb); var readModelHandler = new ReadModelEventHandler <TestReadModelQuerries>(queryRepository, new VersionRepositoryMongoDb(EventMongoDb), new FeedMock2()); await readModelHandler.UpdateAsync(); var result = await queryRepository.LoadAsync <TestReadModelQuerries>(EntityGuid.ToString()); Assert.AreEqual(EntityGuid.ToString(), result.Value.Id); Assert.AreEqual(14, result.Value.Version); Assert.AreEqual("testName", result.Value.Name); }
public async Task UpdateModel_TwoEntities() { EntityGuid = Guid.NewGuid(); EntityGuid2 = Guid.NewGuid(); var queryRepository = new ReadModelRepositoryMongoDb(EventMongoDb); var readModelHandler = new ReadModelEventHandler <TestReadModelQuerries>(queryRepository, new VersionRepositoryMongoDb(EventMongoDb), new FeedMock3()); await readModelHandler.UpdateAsync(); var result = await queryRepository.LoadAsync <TestReadModelQuerries>(EntityGuid.ToString()); var result2 = await queryRepository.LoadAsync <TestReadModelQuerries>(EntityGuid2.ToString()); Assert.AreEqual(EntityGuid.ToString(), result.Value.Id); Assert.AreEqual(EntityGuid2.ToString(), result2.Value.Id); }
public async Task UpdateModel_VersionUpdatedExplicitly() { EntityGuid = Guid.NewGuid(); var queryRepository = new ReadModelRepositoryMongoDb(EventMongoDb); var readModelHandler = new ReadModelEventHandler <TestReadModelQuerries_VerionedHandle>( queryRepository, new VersionRepositoryMongoDb(EventMongoDb), new FeedMockVersioned()); await readModelHandler.UpdateAsync(); var result = await queryRepository.LoadAsync <TestReadModelQuerries_VerionedHandle>(EntityGuid.ToString()); Assert.AreEqual(EntityGuid.ToString(), result.Value.EntityId); Assert.AreEqual(12, result.Value.InnerVersion); Assert.AreEqual(14, result.Value.Version); }
public async Task UpdateModel_EventsNotAppliedStillUpdatesVersion() { EntityGuid = Guid.NewGuid(); var queryRepository = new ReadModelRepositoryMongoDb(EventMongoDb); var readModelHandler = new ReadModelEventHandler <TestReadModelQuerries_OnlyOneEventAndVersionIsCounted>( queryRepository, new VersionRepositoryMongoDb(EventMongoDb), new FeedMock5()); await readModelHandler.UpdateAsync(); var result = await queryRepository.LoadAsync <TestReadModelQuerries_OnlyOneEventAndVersionIsCounted> (EntityGuid.ToString()); Assert.AreEqual(14, result.Value.Version); Assert.AreEqual(null, result.Value.Name); Assert.AreEqual(EntityGuid.ToString(), result.Value.Id); }
public async Task UpdateModel_EventsPresentThatAreNotHandleble() { EntityGuid = Guid.NewGuid(); EntityGuid2 = Guid.NewGuid(); var queryRepository = new ReadModelRepositoryMongoDb(EventMongoDb); var readModelHandler = new ReadModelEventHandler <TestReadModelQuerries>(queryRepository, new VersionRepositoryMongoDb(EventMongoDb), new FeedMock4()); await readModelHandler.UpdateAsync(); var result = await queryRepository.LoadAsync <TestReadModelQuerries>(EntityGuid.ToString()); var result2 = await queryRepository.LoadAsync <TestReadModelQuerries>(EntityGuid2.ToString()); Assert.AreEqual(EntityGuid.ToString(), result.Value.Id); var condition = result2.Is <NotFound>(); Assert.IsTrue(condition); }
public async Task UpdateModel_TwoParallelReadModelHandler_SerializationBug() { EntityGuid = Guid.NewGuid(); EntityGuid2 = Guid.NewGuid(); var queryRepository = new ReadModelRepositoryMongoDb(EventMongoDb); var readModelHandler = new ReadModelEventHandler <TestReadModelQuerries_TwoParallelFeeds1>(queryRepository, new VersionRepositoryMongoDb(EventMongoDb), new FeedMock6()); var readModelHandler2 = new ReadModelEventHandler <TestReadModelQuerries_TwoParallelFeeds2>(queryRepository, new VersionRepositoryMongoDb(EventMongoDb), new FeedMock7()); await readModelHandler.UpdateAsync(); await readModelHandler2.UpdateAsync(); var result = await queryRepository.LoadAsync <TestReadModelQuerries_TwoParallelFeeds1>(EntityGuid.ToString()); var result2 = await queryRepository.LoadAsync <TestReadModelQuerries_TwoParallelFeeds2>(EntityGuid2.ToString()); Assert.AreEqual(EntityGuid.ToString(), result.Value.Id); Assert.AreEqual(EntityGuid2.ToString(), result2.Value.IdTotallyDifferenzt); }