public void Cannot_Save_Invalid_Comment() { // Организация - создание имитированного хранилища Mock<ICommentRepository> mock = new Mock<ICommentRepository>(); Mock<ILikeRepository> mockLike = new Mock<ILikeRepository>(); // Организация - создание контроллера CommentController target = new CommentController(mock.Object, mockLike.Object); // Организация - создание комментария Comment comment = new Comment { Id = 1, CreateDate = DateTime.Now, Username = "******", Text = "Test Text", PostId = 1 }; // Организация - добавление ошибки в состояние модели target.ModelState.AddModelError("error", "error"); // Действие - сохраняем комментарий ActionResult result = target.Save(comment); // Утверждение - проверка того, что к хранилищу не производится обращение mock.Verify(m => m.Save(It.IsAny<Comment>()), Times.Never()); // Утверждение - проверка типа результата метода Assert.IsNotNull(((PartialViewResult)result).Model); Assert.IsInstanceOfType(result, typeof(PartialViewResult)); }
public void Can_Save_Valid_Comment() { // Организация - создание имитированного хранилища Mock<ICommentRepository> mock = new Mock<ICommentRepository>(); Mock<ILikeRepository> mockLike = new Mock<ILikeRepository>(); var context = new Mock<HttpContextBase>(); var request = new Mock<HttpRequestBase>(); request.Setup(r => r.UrlReferrer).Returns(new Uri("http://test.com")); context.Setup(c => c.Request).Returns(request.Object); // Организация - создание контроллера CommentController target = new CommentController(mock.Object, mockLike.Object); target.ControllerContext = new ControllerContext(context.Object, new System.Web.Routing.RouteData(), target); // Организация - создание комментария Comment comment = new Comment { Id = 1, CreateDate = DateTime.Now, Username = "******", Text = "Test Text", PostId = 1 }; // Действие - сохраняем комментарий ActionResult result = target.Save(comment); // Утверждение - проверка того, что к хранилищу производится обращение mock.Verify(m => m.Save(comment)); // Утверждение - проверка типа результата метода Assert.IsNull(((PartialViewResult)result).Model); Assert.IsInstanceOfType(result, typeof(PartialViewResult)); }
public PartialViewResult Save(Comment model) { if (ModelState.IsValid) { _commentRepository.Save(model); ViewBag.IsCommentSuccess = true; return PartialView("~/Views/Posts/_CommentForm.cshtml"); } return PartialView("~/Views/Posts/_CommentForm.cshtml", model); }
public PartialViewResult SaveWithoutCaptcha(Comment model) { if (ModelState.IsValid & Session["oAuthUser"] != null) { model.AvatarUrl = ((OAuthUser)Session["oAuthUser"]).ProfilePhoto; _commentRepository.Save(model); ViewBag.IsCommentSuccess = true; return PartialView("~/Views/Posts/_CommentForm.cshtml"); } return PartialView("~/Views/Posts/_CommentForm.cshtml", model); }
public void Cannot_Save_Invalid_Changes() { // Организация - создание комментария Comment comment = new Comment { Id = 1, Username = "******", Text = "Comment text", CreateDate = DateTime.Now, IsApproved = true, PostId = 1 }; // Организация - добавление ошибки в состояние модели _target.ModelState.AddModelError("error", "error"); // Действие - попытка сохранения товара ActionResult result = _target.Save(comment); // Утверждение - проверка того, что обращения к хранилищу не производится _mock.Verify(m => m.Save(It.IsAny<Comment>()), Times.Never); // Утверждение - проверка типа результата метода Assert.IsInstanceOfType(result, typeof(ViewResult)); }
public void Save(Comment comment) { if (comment.Id == 0) { comment.CreateDate = DateTime.Now; _db.Comments.Add(comment); } else { Comment dbEntry = _db.Comments.Find(comment.Id); if (dbEntry != null) { dbEntry.Text = comment.Text; dbEntry.Username = comment.Username; dbEntry.IsApproved = comment.IsApproved; } } _db.SaveChanges(); }
public ActionResult Save(Comment comment) { if (ModelState.IsValid) { _commentRepository.Save(comment); return RedirectToAction("List", new { page = TempData["page"], approved = TempData["approved"] }); } return View(comment); }
public void Can_Save_Valid_Changes() { // Организация - создание комментария Comment comment = new Comment { Id = 1, Username = "******", Text = "Comment text", CreateDate = DateTime.Now, IsApproved = true, PostId = 1 }; // Действие - попытка сохранения товара ActionResult result = _target.Save(comment); // Утверждение - проверка того, что к хранилищу производится обращение _mock.Verify(m => m.Save(comment)); // Утверждение - проверка результата метода Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult)); }