public async Task Add_New_Comment() { var gameId = GamesTestData.FirstGame.Id; var comments = await _commentService.GetAllCommentsForGame(GamesTestData.FirstGame.Id); var parentCommentId = comments.First(); var newAnswer = new CommentModel { Name = "Answer", Body = "This is answer" }; await _commentService.AddAnswerToCommentAsync(gameId, parentCommentId.Id, newAnswer); var commentsWithAnswer = await _commentService.GetAllCommentsForGame(GamesTestData.FirstGame.Id) .ContinueWith(x => x.Result.FirstOrDefault(c => c.Id == parentCommentId.Id)); var answer = commentsWithAnswer.Answers.FirstOrDefault(x => x.Body == newAnswer.Body); MultiplyAssertion.For(() => { answer.Should().NotBeNull(); answer.Body.Should().Be(newAnswer.Body); }); }
public async Task <IActionResult> AddAnswerToComment(Guid id, Guid commentId, [FromBody] CommentModel model) => (await _commentService.AddAnswerToCommentAsync(id, commentId, model)) .OnSuccess(x => (IActionResult)Ok(x)) .OnFailure(_ => BadRequest(), error => error is ArgumentNullError) .OnFailure(error => error.ToObjectResult(), error => error != null) .OnFailure(_ => ModelState.ToObjectResult());