public async Task LoadAndSaveTwoVersions() { var versionRepository = new VersionRepository(MongoClient); await versionRepository.SaveLastVersion <IntegrationTestBase>("123"); await versionRepository.SaveLastVersion <VersionRepoTest>("456"); var version1 = await versionRepository.GetLastVersion <IntegrationTestBase>(); var version2 = await versionRepository.GetLastVersion <VersionRepoTest>(); Assert.AreEqual("123", version1.Version); Assert.AreEqual("456", version2.Version); }
public async Task LoadEmpty() { var versionRepository = new VersionRepository(MongoClient); var version = await versionRepository.GetLastVersion <IntegrationTestBase>(); Assert.AreEqual("000000000000000000000000", version.Version); }
public async Task SaveTwice() { var versionRepository = new VersionRepository(MongoClient); await versionRepository.SaveLastVersion <IntegrationTestBase>("123"); await versionRepository.SaveLastVersion <IntegrationTestBase>("1234"); var version = await versionRepository.GetLastVersion <IntegrationTestBase>(); Assert.AreEqual("1234", version.Version); }
public async Task TestThatNewVersionIsUpdated() { var fakeEvent1 = TestDtoHelper.CreateFakeEvent(); var fakeEvent2 = TestDtoHelper.CreateFakeEvent(); var fakeEvent3 = TestDtoHelper.CreateFakeEvent(); var fakeEvent4 = TestDtoHelper.CreateFakeEvent(); var fakeEvent5 = TestDtoHelper.CreateFakeEvent(); fakeEvent1.match.season = 0; fakeEvent1.match.startTime = 5000; fakeEvent1.Id = ObjectId.GenerateNewId(); fakeEvent2.match.season = 0; fakeEvent2.match.startTime = 4000; fakeEvent2.Id = ObjectId.GenerateNewId(); fakeEvent3.match.season = 1; fakeEvent3.match.startTime = 3000; fakeEvent3.Id = ObjectId.GenerateNewId(); fakeEvent4.match.season = 1; fakeEvent4.match.startTime = 2000; fakeEvent4.match.id = "Test"; fakeEvent4.Id = ObjectId.GenerateNewId(); fakeEvent5.match.season = 0; fakeEvent5.match.startTime = 1000; fakeEvent5.Id = ObjectId.GenerateNewId(); await InsertMatchEvents(new List <MatchFinishedEvent> { fakeEvent1, fakeEvent2, fakeEvent3, fakeEvent4, fakeEvent5 }); var matchRepository = new MatchRepository(MongoClient, new OngoingMatchesCache(MongoClient)); var versionRepository = new VersionRepository(MongoClient); var handler = new ReadModelHandler <MatchReadModelHandler>( new MatchEventRepository(MongoClient), versionRepository, new MatchReadModelHandler(matchRepository)); await handler.Update(); var version = await versionRepository.GetLastVersion <MatchReadModelHandler>(); var matches = await matchRepository.Load(); Assert.AreEqual(1, version.Season); Assert.AreEqual(fakeEvent5.Id.ToString(), version.Version); Assert.AreEqual(4, matches.Count); Assert.AreEqual(fakeEvent4.match.id, matches[0].MatchId); Assert.AreEqual(fakeEvent4.Id, matches[0].Id); }