public void PostComment_WhenCalled_ShouldSaveCommentToDatabase() { var question = _context.AddTestQuestionToDatabase(); var answer = _context.AddTestAnswerToDatabase(question.Id); var viewModel = new AnswerPostCommentViewModel(answer.Id, "Comment"); var result = _controller.PostComment(viewModel); var comment = _contextAfterAction.Comments.Single(); Assert.That(comment.AnswerId, Is.EqualTo(answer.Id)); Assert.That(comment.Content, Is.EqualTo("Comment")); Assert.That((result as OkNegotiatedContentResult <int>).Content, Is.EqualTo(1)); }
public IHttpActionResult PostComment(AnswerPostCommentViewModel answerPostCommentViewModel) { _unitOfWork.CommentRepository.Add(new Comment { AnswerId = answerPostCommentViewModel.AnswerId, Content = answerPostCommentViewModel.Comment, AppUserId = User.Identity.GetUserId(), CreatedDate = DateTime.Now }); _unitOfWork.Complete(); var newTotalCount = _unitOfWork.CommentRepository.Count(c => c.AnswerId == answerPostCommentViewModel.AnswerId); var newTotalPageCount = (newTotalCount - 1) / Constants.CommentPageSize + 1; return(Ok(newTotalPageCount)); }