public async Task GetArticlesQueryHandler_GivenNoArguments_ShouldReturnArticles() { GetArticlesQuery query = new GetArticlesQuery(); GetArticlesQueryHandler handler = new GetArticlesQueryHandler(); var request = await handler.Handle(query, new System.Threading.CancellationToken()); Assert.IsType <List <ArticleDto> >(request); }
public async Task GivenValidRequest_WhenRequestContainsPossibleQueryParams_ReturnsArticlesVieWModel() { // Arrange var getArticlesCommand = new GetArticlesQuery("dragons", "joey.mckenzie", null, null, null); // Act var command = new GetArticlesQueryHandler(UserManager, Context, Mapper); var response = await command.Handle(getArticlesCommand, CancellationToken.None); // Assert response.ShouldNotBeNull(); response.ShouldBeOfType <ArticleViewModelList>(); response.Articles.ShouldNotBeNull(); response.Articles.ShouldBeOfType <List <ArticleDto> >(); response.Articles.ShouldNotBeEmpty(); response.Articles.FirstOrDefault()?.TagList.ShouldContain("dragons"); }
public async Task GivenValidRequest_WhenRequestContainsLimitParam_ReturnsLimitedResultsArticlesInArticlesVieWModel() { // Arrange var getArticlesCommand = new GetArticlesQuery(null, null, null, 1, null); // Act var command = new GetArticlesQueryHandler(UserManager, Context, Mapper); var response = await command.Handle(getArticlesCommand, CancellationToken.None); // Assert response.ShouldNotBeNull(); response.ShouldBeOfType <ArticleViewModelList>(); response.Articles.ShouldNotBeNull(); response.Articles.ShouldBeOfType <List <ArticleDto> >(); response.Articles.ShouldNotBeEmpty(); response.Articles.Count().ShouldBe(1); response.Articles.ShouldContain(a => a.Author.Username == "joey.mckenzie"); response.Articles.FirstOrDefault(a => a.Author.Username == "joey.mckenzie")?.TagList.ShouldNotBeEmpty(); }
public async Task GivenValidRequest_WhenRequestContainsPossibleQueryParamsWithNoResultMatches_ReturnsArticlesVieWModelWithNoResults() { // Arrange var getArticlesCommand = new GetArticlesQuery(null, "joey.mckenzie", "thisUserDoesNotExist", null, null); // Act var command = new GetArticlesQueryHandler(UserManager, Context, Mapper); var response = await command.Handle(getArticlesCommand, CancellationToken.None); // Assert response.ShouldNotBeNull(); response.ShouldBeOfType <ArticleViewModelList>(); response.Articles.ShouldNotBeNull(); response.Articles.ShouldBeOfType <List <ArticleDto> >(); response.Articles.ShouldBeEmpty(); response.Articles.FirstOrDefault()?.Author.Following.ShouldBeTrue(); response.Articles.FirstOrDefault()?.Favorited.ShouldBeTrue(); response.Articles.FirstOrDefault()?.TagList.ShouldNotBeEmpty(); }