public async Task GivenValidRequest_WhenTheRequestDoesNotContainArticlesFromQueryParams_ReturnsEmptyViewModelList() { // Arrange var getFeedQuery = new GetFeedQuery(12, 13); // Act var handler = new GetFeedQueryHandler(CurrentUserContext, Context, Mapper); var response = await handler.Handle(getFeedQuery, CancellationToken.None); // Assert response.ShouldNotBeNull(); response.ShouldBeOfType <ArticleViewModelList>(); response.Articles.ShouldNotBeNull(); response.Articles.ShouldBeOfType <List <ArticleDto> >(); response.Articles.ShouldBeEmpty(); }
public async Task GivenValidRequest_WhenTheRequestHasLimitQueryParam_ReturnsLimitedArticleViewModelList() { // Arrange var getFeedQuery = new GetFeedQuery(1, null); // Act var handler = new GetFeedQueryHandler(CurrentUserContext, Context, Mapper); var response = await handler.Handle(getFeedQuery, CancellationToken.None); // Assert response.ShouldNotBeNull(); response.ShouldBeOfType <ArticleViewModelList>(); response.Articles.ShouldNotBeNull(); response.Articles.ShouldBeOfType <List <ArticleDto> >(); response.Articles.ShouldNotBeEmpty(); response.Articles.Single().Author.Username.ShouldBe("joey.mckenzie"); }
public async Task GivenValidRequest_WhenTheUserIsFollowingAuthorsWithArticles_ReturnsArticleViewModelListOfAuthorsArticles() { // Arrange var getFeedQuery = new GetFeedQuery(null, null); // Act var handler = new GetFeedQueryHandler(CurrentUserContext, Context, Mapper); var response = await handler.Handle(getFeedQuery, CancellationToken.None); // Assert response.ShouldNotBeNull(); response.ShouldBeOfType <ArticleViewModelList>(); response.Articles.ShouldNotBeNull(); response.Articles.ShouldBeOfType <List <ArticleDto> >(); response.Articles.ShouldContain(a => a.Author.Username == "joey.mckenzie"); response.Articles.FirstOrDefault(a => a.Author.Username == "joey.mckenzie")?.Author.Following.ShouldBeTrue(); response.Articles.FirstOrDefault(a => a.Author.Username == "joey.mckenzie")?.Favorited.ShouldBeTrue(); response.Articles.FirstOrDefault(a => a.Author.Username == "joey.mckenzie")?.TagList.ShouldNotBeEmpty(); }