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); } }
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); } }
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); } }
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); } }
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 }
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); } }