public void TestHomeControllerAddCommentWithBadCommentObj() { var comment = new comment(); var ex = new Exception(); db.Setup(c => c.comments.Add(comment)).Throws(ex); PartialViewResult result = controller.AddComment(comment) as PartialViewResult; Assert.IsNotNull(result); Assert.AreEqual("_ErrorPartial", result.ViewName); Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult)); var model = result.Model as HttpStatusCodeResult; Assert.AreEqual(400, model.StatusCode); Assert.AreEqual("Comment could not be added.", model.StatusDescription); }
public void TestHomeControllerAddCommentOnWorkout() { comment comment = new comment(); comment.message = "Test comment"; comment.date_created = DateTime.Now; comment.User_id = 1; comment.Workout_id = 1; db.Setup(c => c.comments.Add(comment)).Returns(comment); RedirectToRouteResult result = controller.AddComment(comment) as RedirectToRouteResult; Assert.IsNotNull(result); Assert.AreEqual("Index", result.RouteValues["action"], "action was not Index"); Assert.AreEqual("Home", result.RouteValues["controller"], "controller was not FavoriteWorkouts"); }
public void TestHomeControllerAddCommentWithNoUserError() { controller = new CommentsController(db.Object) { ControllerContext = MockContext.AuthenticationContext("not_a_real_user") }; var comment = new comment(); PartialViewResult result = controller.AddComment(comment) as PartialViewResult; Assert.IsNotNull(result); Assert.AreEqual("_ErrorPartial", result.ViewName); Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult)); var model = result.Model as HttpStatusCodeResult; Assert.AreEqual(400, model.StatusCode); Assert.AreEqual("Comment could not be added.", model.StatusDescription); }
public ActionResult AddComment(comment comment) { if (comment == null) { return View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.BadRequest, "No comment to add was specified.")); } comment.date_created = DateTime.Now; comment.User_id = userAccess.getUserId(User.Identity.Name); if (Session["workout_id"] != null) comment.Workout_id = (int)Session["workout_id"]; if (ModelState.IsValid) { try { db.comments.Add(comment); db.SaveChanges(); if (this.Request.UrlReferrer != null) { string url = this.Request.UrlReferrer.PathAndQuery; return Redirect(url); } else { return RedirectToAction("Index", "Home"); } } catch { return PartialView("_ErrorPartial", new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Comment could not be added.")); } } else { return PartialView("_ErrorPartial", new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Invalid comment.")); } }
public void TestHomeControllerAddCommentWithValidationErrs() { var comment = new comment(); controller.ModelState.AddModelError("Fail", "Failed"); PartialViewResult result = controller.AddComment(comment) as PartialViewResult; Assert.IsNotNull(result); Assert.AreEqual("_ErrorPartial", result.ViewName); Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult)); var model = result.Model as HttpStatusCodeResult; Assert.AreEqual(400, model.StatusCode); Assert.AreEqual("Invalid comment.", model.StatusDescription); }
/// <summary> /// Gets the fake comments /// </summary> /// <returns>A list of fake comments</returns> private List<comment> getSeedComments() { List<workout> workouts = getSeedWorkouts(); List<user> users = getSeedUsers(); comment comment1 = new comment { id = 1, message = "Comment1", date_created = Convert.ToDateTime("2015-01-01"), user = users[1], workout = workouts[1] }; comment comment2 = new comment { id = 2, message = "Comment2", date_created = Convert.ToDateTime("2015-02-02"), user = users[1], workout = workouts[2] }; comment comment3 = new comment { id = 3, message = "Comment3", date_created = Convert.ToDateTime("2015-03-03"), user = users[2], workout = workouts[1], }; var comment = new List<comment> { comment1, comment2, comment3 }; return comment; }
public void TestAdminCommentsPostDeleteWithDbUpdateException() { comment t = new comment() { id = 1 }; db.Setup(c => c.comments.Find(t.id)).Returns(t); db.Setup(c => c.comments.Remove(t)).Returns(t); db.Setup(c => c.SaveChanges()).Throws(new DbUpdateException()); ViewResult result = adminCon.DeleteConfirmed(t) as ViewResult; Assert.IsNotNull(result); Assert.AreEqual("DetailedError", result.ViewName); Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult)); var model = result.Model as HttpStatusCodeResult; Assert.AreEqual(500, model.StatusCode); Assert.AreEqual("Failed to delete the comment as it may be referenced in the database.", model.StatusDescription); }
public void TestAdminCommentsPostDeleteCommentNotFound() { comment t = new comment(); ViewResult result = adminCon.DeleteConfirmed(t) as ViewResult; Assert.IsNotNull(result); Assert.AreEqual("DetailedError", result.ViewName); Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult)); var model = result.Model as HttpStatusCodeResult; Assert.AreEqual(500, model.StatusCode); Assert.AreEqual("The comment does not exist or has already been deleted", model.StatusDescription); }