public async Task AllAsyncShould_ReturnsCorrectArticlesWith_DifferentPageIndex(int page) { //Arrange var article = ArticleCreator.Create(Guid.NewGuid().ToString()); var secondArticle = ArticleCreator.Create(Guid.NewGuid().ToString()); var thirdArticle = ArticleCreator.Create(Guid.NewGuid().ToString()); var fourthArticle = ArticleCreator.Create(Guid.NewGuid().ToString()); await this.Db.AddRangeAsync(article, secondArticle, thirdArticle, fourthArticle); await this.Db.SaveChangesAsync(); var service = new BlogArticleService(Db, null, null); //Act var result = (await service.AllAsync <BlogArticleListingModel>(page)).ToList(); var expectedCount = this.Db.Articles .Skip((page - 1) * ArticlesPageSize) .Take(ArticlesPageSize) .Count(); //Assert result.Should().AllBeOfType <BlogArticleListingModel>(); result.Should().HaveCount(expectedCount); result.Should().BeInDescendingOrder(x => x.PublishDate); }
public async Task AllArticlesShouldReturnCorrectResult() { // Arrange TestStartUp startUp = new TestStartUp(); TestStartUp.InitializeMapper(); var db = startUp.GetDbContext(); this.PopulateDb(db); var articleService = new BlogArticleService(db); // Act var result = await articleService.AllAsync(); // Assert result .Should() .Match(r => r.ElementAt(0).Id == 4 && r.ElementAt(1).Id == 3 && r.ElementAt(2).Id == 2) .And .HaveCount(3); }