public async Task GivenValidRequest_WhenTheArticleDoesNotContainAnyComments_ReturnsEmptyCommentViewModelList() { // Arrange var articleCommentsQuery = new ArticleCommentsQuery("why-beer-is-gods-gift-to-the-world"); // Act var handler = new ArticleCommentsQueryHandler(Context, Mapper); var response = await handler.Handle(articleCommentsQuery, CancellationToken.None); // Assert response.ShouldNotBeNull(); response.ShouldBeOfType <CommentViewModelList>(); response.Comments.ShouldBeEmpty(); }
public async Task GivenValidRequest_WhenTheArticleExists_ReturnsCommentViewModelListWithComments() { // Arrange var articleCommentsQuery = new ArticleCommentsQuery("how-to-train-your-dragon"); // Act var handler = new ArticleCommentsQueryHandler(Context, Mapper); var response = await handler.Handle(articleCommentsQuery, CancellationToken.None); // Assert response.ShouldNotBeNull(); response.ShouldBeOfType <CommentViewModelList>(); response.Comments.Count().ShouldBe(2); }
public async Task GivenValidRequest_WhenTheArticleDoesNotExist_ThrowsApiExceptionWithNotFound() { // Arrange var articleCommentsQuery = new ArticleCommentsQuery("how-to-not-train-your-dragon"); // Act var handler = new ArticleCommentsQueryHandler(Context, Mapper); var response = await Should.ThrowAsync <ConduitApiException>(async() => { await handler.Handle(articleCommentsQuery, CancellationToken.None); }); // Assert response.StatusCode.ShouldBe(HttpStatusCode.NotFound); response.ShouldNotBeNull(); response.ShouldBeOfType <ConduitApiException>(); }