예제 #1
0
 public BooksController(AllBooksQueryHandler allBooksQueryHandler, GetBookQueryHandler bookQueryHandler, AddBookCommandHandler addBookQueryHandler, DeleteBookCommandHandler deleteBookCommandHandler)
 {
     _allBooksQueryHandler     = allBooksQueryHandler;
     _bookQueryHandler         = bookQueryHandler;
     _addBookQueryHandler      = addBookQueryHandler;
     _deleteBookCommandHandler = deleteBookCommandHandler;
 }
        public async Task Get_Book()
        {
            using (var context = GetContextWithData())
            {
                var handler = new GetBookQueryHandler(context);
                var book    = context.Books.Include(i => i.BookCategories).First();

                var result = await handler.Handle(new GetBookQuery { Id = book.Id }, CancellationToken.None);

                Assert.IsType <GetBookModel>(result);
                Assert.Equal(result.Id, book.Id);
                Assert.Equal(result.Title, book.Title);
                Assert.Equal(result.Categories.Select(c => c.Name).OrderBy(c => c).ToList(),
                             book.BookCategories.Select(c => c.Category.Name).OrderBy(c => c).ToList());
            }
        }