public async Task FullTestWithOneDeck() { var testDB = DbHelper.GetEmptyTestDB(); var userId = await UserHelper.CreateInDbAsync(testDB); var deckDescription = RandomHelper.String(); var deck = await DeckHelper.CreateAsync(testDB, userId, deckDescription, UnitTestsHeapingAlgorithm.ID); var jan01 = new DateTime(2030, 01, 01).ToUniversalTime(); var jan30 = new DateTime(2030, 01, 30, 0, 0, 0).ToUniversalTime(); var jan31 = new DateTime(2030, 01, 31).ToUniversalTime(); var jan28 = new DateTime(2030, 01, 28).ToUniversalTime(); await DeckHelper.AddCardAsync(testDB, deck, (await CardHelper.CreateAsync(testDB, userId)).Id, 0, jan31); await DeckHelper.AddCardAsync(testDB, deck, (await CardHelper.CreateAsync(testDB, userId)).Id, 0, jan30); await DeckHelper.AddCardAsync(testDB, deck, (await CardHelper.CreateAsync(testDB, userId)).Id, 1, jan31); await DeckHelper.AddCardAsync(testDB, deck, (await CardHelper.CreateAsync(testDB, userId)).Id, 2, jan31); await DeckHelper.AddCardAsync(testDB, deck, (await CardHelper.CreateAsync(testDB, userId)).Id, 1, jan30); await DeckHelper.AddCardAsync(testDB, deck, (await CardHelper.CreateAsync(testDB, userId)).Id, 1, jan30); await DeckHelper.AddCardAsync(testDB, deck, (await CardHelper.CreateAsync(testDB, userId)).Id, 3, jan30); await DeckHelper.AddCardAsync(testDB, deck, (await CardHelper.CreateAsync(testDB, userId)).Id, 1, jan01); await DeckHelper.AddCardAsync(testDB, deck, (await CardHelper.CreateAsync(testDB, userId)).Id, 3, jan28); await DeckHelper.AddCardAsync(testDB, deck, (await CardHelper.CreateAsync(testDB, userId)).Id, 6, jan28); await DeckHelper.AddCardAsync(testDB, deck, (await CardHelper.CreateAsync(testDB, userId)).Id, 4, jan01); await DeckHelper.AddCardAsync(testDB, deck, (await CardHelper.CreateAsync(testDB, userId)).Id, 6, jan01); using var dbContext = new MemCheckDbContext(testDB); var request = new GetDecksWithLearnCounts.Request(userId); var result = await new GetDecksWithLearnCounts(dbContext.AsCallContext(), new DateTime(2030, 02, 01, 0, 30, 0)).RunAsync(request); var loaded = result.Single(); Assert.AreEqual(deckDescription, loaded.Description); Assert.AreEqual(2, loaded.UnknownCardCount); Assert.AreEqual(7, loaded.ExpiredCardCount); Assert.AreEqual(0, loaded.ExpiringNextHourCount); Assert.AreEqual(2, loaded.ExpiringFollowing24hCount); Assert.AreEqual(1, loaded.ExpiringFollowing3DaysCount); Assert.AreEqual(12, loaded.CardCount); }
public async Task OneEmptyDeck() { var testDB = DbHelper.GetEmptyTestDB(); var userId = await UserHelper.CreateInDbAsync(testDB); var description = RandomHelper.String(); var deck = await DeckHelper.CreateAsync(testDB, userId, description); using var dbContext = new MemCheckDbContext(testDB); var request = new GetDecksWithLearnCounts.Request(userId); var result = await new GetDecksWithLearnCounts(dbContext.AsCallContext()).RunAsync(request); Assert.AreEqual(1, result.Count()); var loaded = result.First(); Assert.AreEqual(deck, loaded.Id); Assert.AreEqual(description, loaded.Description); Assert.AreEqual(0, loaded.UnknownCardCount); Assert.AreEqual(0, loaded.ExpiredCardCount); Assert.AreEqual(0, loaded.CardCount); }