public async Task TestOrderByOk(OrderByOptions orderBy) { //SETUP using (var context = new SqlDbContext(_options)) { var service = new SqlListBooksService(context); //ATTEMPT var books = await service.SortFilterPage(new SqlSortFilterPageOptions { OrderByOptions = orderBy }).ToListAsync(); //VERIFY } }
public async Task TestFilterVotesOk() { //SETUP using (var context = new SqlDbContext(_options)) { var service = new SqlListBooksService(context); //ATTEMPT var books = await service.SortFilterPage(new SqlSortFilterPageOptions { OrderByOptions = OrderByOptions.ByVotes, FilterBy = BooksFilterBy.ByVotes, FilterValue = "2" }).ToListAsync(); //VERIFY books.All(x => x.ReviewsAverageVotes > 2).ShouldBeTrue(); } }
public async Task TestFilterDatesFutureOk() { //SETUP var year = Math.Min(DateTime.UtcNow.Year, DddEfTestData.DummyBookStartDate.AddYears(5).Year); using (var context = new SqlDbContext(_options)) { var service = new SqlListBooksService(context); //ATTEMPT var books = await service.SortFilterPage(new SqlSortFilterPageOptions { OrderByOptions = OrderByOptions.ByPublicationDate, FilterBy = BooksFilterBy.ByPublicationYear, FilterValue = "Coming Soon" }).ToListAsync(); //VERIFY books.All(x => x.PublishedOn > DateTime.UtcNow).ShouldBeTrue(); } }
public async Task TestFilterDatesOk() { //SETUP var year = Math.Min(DateTime.UtcNow.Year, DddEfTestData.DummyBookStartDate.AddYears(5).Year); using (var context = new SqlDbContext(_options)) { var service = new SqlListBooksService(context); //ATTEMPT var books = await service.SortFilterPage(new SqlSortFilterPageOptions { OrderByOptions = OrderByOptions.ByPublicationDate, FilterBy = BooksFilterBy.ByPublicationYear, FilterValue = year.ToString() }).ToListAsync(); //VERIFY books.Single().PublishedOn.Year.ShouldEqual(year); } }
public async Task TestPageOk(int pageSize, int pageNum) //pageNum starts at 1 { //SETUP using (var context = new SqlDbContext(_options)) { var service = new SqlListBooksService(context); //ATTEMPT var filterPageOptions = new SqlSortFilterPageOptions { OrderByOptions = OrderByOptions.ByPriceLowestFirst, PageSize = pageSize, PageNum = pageNum }; var temp = service.SortFilterPage(filterPageOptions); //to set the PrevCheckState filterPageOptions.PageNum = pageNum; var books = await service.SortFilterPage(filterPageOptions).ToListAsync(); //VERIFY books.Count.ShouldEqual(Math.Min(pageSize, books.Count)); books.First().ActualPrice.ShouldEqual(1 + pageSize * (pageNum - 1)); } }