public void Given_CreateReportViewModel_comment_When_CreateReport_Returns_Report()
        {
            //Given
            var model = new ReportCommentViewModel()
            {
                Content        = "Sobaka",
                CommentId      = 1,
                CallbackPostId = 1
            };

            var comment = new Comment()
            {
                Author   = "Shrook",
                AuthorId = "22",
                Content  = "sosiska"
            };

            //When
            var result = _postFactory.CreateReport(model, comment);

            //Then
            Assert.NotNull(result);
            Assert.IsInstanceOf <Report>(result);
            Assert.AreEqual("Shrook", result.SenderName);
            Assert.AreEqual(comment, result.Comment);
            Assert.AreEqual(model.Content, result.ReportText);
        }
        public void ReportComment(ReportCommentViewModel model)
        {
            var comment = GetComment(model.CommentId);

            var report = _postFactory.CreateReport(model, comment);

            comment.Reports.Add(report);
            _db.SaveChanges();
        }
        public ReportCommentViewModel BuildReportCommentViewModel(int commentId, int callbackPostId)
        {
            var model = new ReportCommentViewModel()
            {
                CommentId      = commentId,
                CallbackPostId = callbackPostId
            };

            return(model);
        }
Beispiel #4
0
        public Report CreateReport(ReportCommentViewModel model, Comment comment)
        {
            var report = new Report()
            {
                Comment    = comment,
                ReportText = model.Content,
                SenderName = _identityFacade.GetUserName()
            };

            return(report);
        }
        public ActionResult ReportComment(ReportCommentViewModel model, int callbackPostId)
        {
            if (ModelState.IsValid)
            {
                _postRepository.ReportComment(model);

                return(RedirectToAction("SinglePost", "Post", new { id = callbackPostId }));
            }
            ModelState.AddModelError("", "All fields should be filled!");
            return(View(model));
        }
Beispiel #6
0
        public void Given_valid_ReportCommentViewModel_When_ReportComment_Returns_SinglePost()
        {
            //Given

            var callbackId = 2;

            var model = new ReportCommentViewModel();

            //When

            var result = _postController.ReportComment(model, callbackId) as RedirectToRouteResult;

            //Then
            Assert.NotNull(result);
            Assert.AreEqual("Post", result.RouteValues["controller"].ToString());
            Assert.AreEqual("SinglePost", result.RouteValues["action"].ToString());
        }
Beispiel #7
0
        public void When_ReportComment_Then_adds_report()
        {
            //given
            var model = new ReportCommentViewModel()
            {
                CallbackPostId = 1,
                CommentId      = 1,
                Content        = "UMMAYAD"
            };

            _postFactory.Setup(x => x.CreateReport(It.IsAny <ReportCommentViewModel>(), It.IsAny <Comment>())).Returns(report1);
            //When
            _blogRepository.ReportComment(model);

            //Then
            Assert.AreEqual(1, comment1.Reports.Count);
            Assert.AreEqual(comment1.Id, comment1.Reports.Single().CommentId);
            Assert.AreEqual(model.Content, comment1.Reports.Single().ReportText);
        }
Beispiel #8
0
        public void Given_inValid_ReportCommentViewModel_When_ReportComment_Returns_ReportCommentViewModel()
        {
            //Given

            var callbackId = 2;

            var model = new ReportCommentViewModel();

            _postController.ModelState.AddModelError(string.Empty, "There is an error with your model, boy!");

            //When

            var result = _postController.ReportComment(model, callbackId) as ViewResult;

            //Then
            Assert.NotNull(result);
            Assert.IsInstanceOf <ReportCommentViewModel>(result.Model);
            Assert.AreEqual(String.Empty, result.ViewName);
        }
Beispiel #9
0
        public void Given_valid_commentId_When_ReportComment_Returns_ReportCommentViewModel()
        {
            //Given

            var commentId  = 1;
            var postId     = 1;
            var callbackId = 2;

            var model = new ReportCommentViewModel();

            _postBuilder.Setup(x => x.BuildReportCommentViewModel(It.IsAny <int>(), It.IsAny <int>())).Returns(model);
            //When

            var result = _postController.ReportComment(commentId, postId, callbackId) as ViewResult;

            //Then
            Assert.NotNull(result);
            Assert.IsInstanceOf <ReportCommentViewModel>(result.Model);
            Assert.AreEqual(String.Empty, result.ViewName);
        }
Beispiel #10
0
        public ActionResult Report(ReportCommentViewModel model)
        {
            var reportedComment = new ReportedComment()
            {
                CommentId = model.Id,
                UserId    = User.Identity.GetUserId(),
                Reason    = model.Reason,
            };

            try
            {
                ctx.ReportedComments.Add(reportedComment);
                ctx.SaveChanges();
            }
            catch (Exception e)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
            }

            return(new HttpStatusCodeResult(HttpStatusCode.OK));
        }