public void TestEditP() { var rand = new Random(); var db = new CsK24_BookStoreEntities(); var sach = db.SACHes.AsNoTracking().First(); sach.TENSACH = rand.NextDouble().ToString(); sach.THONGTIN = rand.NextDouble().ToString(); sach.GIASACH = -rand.Next(); var controller = new SACHesController(); var result0 = controller.Edit(sach, null) as ViewResult; Assert.IsNotNull(result0); Assert.AreEqual("Price is less than Zero", controller.ModelState["Price"].Errors[0].ErrorMessage); var picture = new Mock <HttpPostedFileBase>(); var server = new Mock <HttpServerUtilityBase>(); var context = new Mock <HttpContextBase>(); context.Setup(c => c.Server).Returns(server.Object); controller.ControllerContext = new ControllerContext(context.Object, new System.Web.Routing.RouteData(), controller); var fileName = String.Empty; server.Setup(s => s.MapPath(It.IsAny <string>())).Returns <string>(s => s); picture.Setup(p => p.SaveAs(It.IsAny <string>())).Callback <string>(s => fileName = s); using (var scope = new TransactionScope()) { sach.GIASACH = -sach.GIASACH; controller.ModelState.Clear(); var result1 = controller.Edit(sach, picture.Object) as RedirectToRouteResult; Assert.IsNotNull(result1); Assert.AreEqual("Index", result1.RouteValues["action"]); var entity = db.SACHes.Find(sach.MASACH); Assert.IsNotNull(entity); Assert.AreEqual(sach.TENSACH, entity.TENSACH); Assert.AreEqual(sach.THONGTIN, entity.THONGTIN); Assert.AreEqual(sach.GIASACH, entity.GIASACH); Assert.AreEqual("~/Upload/Sach/" + sach.MASACH, fileName); //Assert.IsTrue(fileName.StartsWith("~/Upload/Products/")); //Assert.IsTrue(fileName.EndsWith(entity.id.ToString())); } }
public void TestEditG() { var controller = new SACHesController(); var result0 = controller.Edit(0) as HttpNotFoundResult; Assert.IsNotNull(result0); var db = new CsK24_BookStoreEntities(); var sach = db.SACHes.First(); var result1 = controller.Edit(sach.MASACH) as ViewResult; Assert.IsNotNull(result1); var model = result1.Model as SACH; Assert.IsNotNull(model); Assert.AreEqual(sach.TENSACH, model.TENSACH); Assert.AreEqual(sach.GIASACH, model.GIASACH); Assert.AreEqual(sach.THONGTIN, model.THONGTIN); }