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