Exemplo n.º 1
0
        public async Task Get_Books_By_Are_Not_Available()
        {
            using (var context = GetContextWithData())
            {
                var handler = new GetBooksQueryHandler(context);
                var result  = await handler.Handle(new GetBooksQuery { IsAvailable = false }, CancellationToken.None);

                Assert.IsType <GetBooksModel>(result);
                Assert.Equal(context.Books.OrderBy(b => b.Title).ToList().First(b => !b.IsAvailable).Title, result.Books.First().Title);
            }
        }
Exemplo n.º 2
0
        public async Task Get_Books_By_Lender()
        {
            using (var context = GetContextWithData())
            {
                var handler  = new GetBooksQueryHandler(context);
                var lenderId = context.Persons.First(p => p.Name == "Hamed").Id;
                var result   = await handler.Handle(new GetBooksQuery { LenderId = lenderId }, CancellationToken.None);

                Assert.IsType <GetBooksModel>(result);
                Assert.Equal(context.Books.First(b => b.Lender.Id == lenderId).Title, result.Books.First().Title);
            }
        }
Exemplo n.º 3
0
        public async Task Get_Books_By_Title()
        {
            using (var context = GetContextWithData())
            {
                var          handler = new GetBooksQueryHandler(context);
                const string title   = "Open";
                var          result  = await handler.Handle(new GetBooksQuery { Title = title }, CancellationToken.None);

                Assert.IsType <GetBooksModel>(result);
                Assert.Equal(context.Books.First(b => b.Title == title).Title, result.Books.First().Title);
            }
        }
Exemplo n.º 4
0
        public async Task Get_All_Books()
        {
            using (var context = GetContextWithData())
            {
                var handler = new GetBooksQueryHandler(context);
                var result  = await handler.Handle(new GetBooksQuery(), CancellationToken.None);

                Assert.IsType <GetBooksModel>(result);
                Assert.Equal(context.Books.Count(), result.Books.Count());
                Assert.Equal(context.Books.OrderBy(b => b.Title).First().Title,
                             result.Books.OrderBy(b => b.Title).First().Title);
            }
        }
Exemplo n.º 5
0
        public void QueryHandler_Exception_Test()
        {
            #region preparation
            ApplicationContext _Context         = new ApplicationContext();
            string             errorType        = GetBooksQueryError.Set_InternalServerError("").ErrorType;
            string             errorDetail_part = "Value cannot be null";
            #endregion

            #region test error
            Result <GetBooksQueryResult, GetBooksQueryError> result =
                new GetBooksQueryHandler(_Context).Handle(null);

            Assert.AreEqual(errorType, result.Error.ErrorType);
            Assert.IsTrue(result.Error.ErrorDetail.Contains(errorDetail_part));
            #endregion
        }
Exemplo n.º 6
0
        public async Task Get_Books_By_Category()
        {
            using (var context = GetContextWithData())
            {
                var handler    = new GetBooksQueryHandler(context);
                var categoryId = context.Categories.First().Id;
                var result     = await handler.Handle(new GetBooksQuery { CategoryIds = new List <Guid> {
                                                                              categoryId
                                                                          } },
                                                      CancellationToken.None);

                Assert.IsType <GetBooksModel>(result);
                Assert.Equal(
                    context.BookCategories.Where(bc => bc.CategoryId == categoryId).Select(b => b.Book)
                    .OrderBy(b => b.Title).First().Title, result.Books.First().Title);
            }
        }