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);
            }
        }
示例#5
0
 public FindItemsQueryHandler(LearningItemContext context)
 {
     _context = context;
 }
示例#6
0
 public AddWordCommandHandler(LearningItemContext context)
 {
     _context = context;
 }