public async Task Should_Return_AllItems() { using (var context = new LearningItemContext(_fixture.Options)) { var handler = new FindItemsQueryHandler(context); var result = await handler.QueryAsync(FindItemsQuery.All); result.ToList().ShouldAllBeEquivalentTo(_fixture.Items); } }
public async Task Should_Return_BasedOnQuery() { using (var context = new LearningItemContext(_fixture.Options)) { var handler = new FindItemsQueryHandler(context); var result = await handler.QueryAsync(FindItemsQuery.ByWord("salut")); var item = result.Single(); item.ShouldBeEquivalentTo(_fixture.Items[0]); } }
public GetWordsQueryHandlerTestFixture() { Options = new DbContextOptionsBuilder <LearningItemContext>() .UseInMemoryDatabase("Get_All") .Options; using (var context = new LearningItemContext(Options)) { context.AddRange(Items); context.SaveChanges(); } }
public async Task Should_AddNewWord(string word, string[] answers) { var options = new DbContextOptionsBuilder <LearningItemContext>() .UseInMemoryDatabase("Add_Item") .Options; using (var context = new LearningItemContext(options)) { var command = new AddWordCommand(word, answers); var handler = new AddWordCommandHandler(context); await handler.HandleAsync(command); } using (var context = new LearningItemContext(options)) { var items = await context.LearningItems.ToListAsync(); var item = items.Single(x => x.ToBeGuessed == word && x.AcceptedAnswers.SequenceEqual(answers)); item.Should().NotBeNull(); item.ToBeGuessed.ShouldBeEquivalentTo(word); item.AcceptedAnswers.ShouldAllBeEquivalentTo(answers); } }
public FindItemsQueryHandler(LearningItemContext context) { _context = context; }
public AddWordCommandHandler(LearningItemContext context) { _context = context; }