private void CheckProduct(Product p) { DIENMAYQUYETTIENEntities db = new DIENMAYQUYETTIENEntities(); if (p.OriginPrice < 0 || p.OriginPrice > 100000000) { ModelState.AddModelError("OriginPrice", "Giá gốc phải lớn hơn 0!"); } if (p.SalePrice < p.OriginPrice || p.SalePrice > 100000000) { ModelState.AddModelError("SalePrice", "Giá bán phải lớn hơn giá gốc!"); } if (p.InstallmentPrice < p.SalePrice || p.InstallmentPrice > 100000000) { ModelState.AddModelError("InstallmentPrice", "Giá góp phải lớn hơn giá bán!"); } if (p.ProductName == null || p.ProductName.Length > 50) { ModelState.AddModelError("ProductName", "Tên sản phẩm không được trống và không được lớn hơn 50 ký tự!"); } if (p.ID == 0 && db.Products.Where(pro => pro.ProductName == p.ProductName).Count() > 0) { ModelState.AddModelError("ProductName", "Tên sản phẩm đã tồn tại vui lòng nhập lại!"); } if (p.Imagefile != null && p.Imagefile.ContentLength > 2097152) { ModelState.AddModelError("Avatar", "Hình ảnh phải nhỏ hơn 2MB"); } }
public void TestDelete() { var db = new DIENMAYQUYETTIENEntities(); var product = new Product { ProductName = "ProductName", ProductTypeID = db.ProductTypes.First().ID, SalePrice = 123, OriginPrice = 123, InstallmentPrice = 123, Quantity = 123, Avatar = "" }; var controller = new ProductAdminController(); var context = new Mock <HttpContextBase>(); var session = new Mock <HttpSessionStateBase>(); session.Setup(s => s["Username"]).Returns("abc"); context.Setup(c => c.Session).Returns(session.Object); controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); using (var scope = new TransactionScope()) { db.Products.Add(product); db.SaveChanges(); var count = db.Products.Count(); var result2 = controller.DeleteConfirmed(product.ID) as RedirectToRouteResult; Assert.IsNotNull(result2); Assert.AreEqual(count - 1, db.Products.Count()); } }
public void DeleteTest() { ProductAdminController target = new ProductAdminController(); var db = new DIENMAYQUYETTIENEntities(); using (var scope = new TransactionScope()) { var product = new Product { ProductCode = "Code", ProductName = "ProductName", ProductTypeID = db.ProductTypes.First().ID, SalePrice = 122, OriginPrice = 122, InstallmentPrice = 122, Quantity = 122, Avatar = "" }; db.Products.Add(product); db.SaveChanges(); //test view delete var result1 = target.Delete(product.ID) as ViewResult; Assert.IsNotNull(result1); Assert.AreEqual(product.ID, (result1.Model as Product).ID); //test delete post var count = db.Products.Count(); var result2 = target.De(product.ID) as RedirectToRouteResult; Assert.IsNotNull(result2); Assert.AreEqual(count - 1, db.Products.Count()); } }
public void CreateTest() { var controller = new ProductAdminController(); var db = new DIENMAYQUYETTIENEntities(); var result = controller.Create() as ViewResult; Assert.IsNotNull(result); Assert.IsInstanceOfType(result.ViewData["product.ID"], typeof(SelectList)); }
public void TestIndex() { var controller = new ProductAdminController(); var result = controller.Index() as ViewResult; var db = new DIENMAYQUYETTIENEntities(); Assert.IsNotNull(result); Assert.IsInstanceOfType(result.Model, typeof(List <Product>)); Assert.AreEqual(db.Products.Count(), ((List <Product>)result.Model).Count); }
public void CreateTest() { var controller = new CashBillController(); var context = new Mock <HttpContextBase>(); context.Setup(c => c.Session["UserName"]).Returns("abc"); controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); var result = controller.Index() as ViewResult; var db = new DIENMAYQUYETTIENEntities(); Assert.IsNotNull(result); }
public void TestIndex() { var controller = new CashBillController(); var context = new Mock <HttpContextBase>(); context.Setup(c => c.Session["UserName"]).Returns("abc"); controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); var result = controller.Index() as ViewResult; var db = new DIENMAYQUYETTIENEntities(); Assert.IsNotNull(result); Assert.IsInstanceOfType(result.Model, typeof(List <CashBill>)); Assert.AreEqual(db.CashBills.Count(), ((List <CashBill>)result.Model).Count); }
public ActionResult Login(Account user) { CheckLogin(user); if (ModelState.IsValid) { using (DIENMAYQUYETTIENEntities db = new DIENMAYQUYETTIENEntities()) { var loguser = db.Accounts.Where(u => u.Username.Equals(user.Username) && u.Password.Equals(user.Password)).FirstOrDefault(); if (loguser != null) { Session["UserName"] = loguser.FullName.ToString(); return(RedirectToAction("Index")); } } } return(View(user)); }
public ActionResult Login(Account acc) { if (ModelState.IsValid) { using (DIENMAYQUYETTIENEntities db = new DIENMAYQUYETTIENEntities()) { var obj = db.Accounts.Where(a => a.Username.Equals(acc.Username) && a.Password.Equals(acc.Password)).FirstOrDefault(); if (obj != null) { Session["Username"] = obj.Username.ToString(); Session["FullName"] = obj.FullName.ToString(); return(RedirectToAction("Index")); } } } return(View(acc)); }
public void TestIndex() { var controller = new ProductAdminController(); var context = new Mock <HttpContextBase>(); var session = new Mock <HttpSessionStateBase>(); context.Setup(c => c.Session).Returns(session.Object); controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); session.Setup(s => s["Username"]).Returns("abc"); var result = controller.Index() as ViewResult; var db = new DIENMAYQUYETTIENEntities(); Assert.IsNotNull(result); Assert.IsInstanceOfType(result.Model, typeof(List <Product>)); Assert.AreEqual(db.Products.Count(), ((List <Product>)result.Model).Count); session.Setup(s => s["Username"]).Returns("null"); }
public void TestEdit2() { var db = new DIENMAYQUYETTIENEntities(); var controller = new ProductAdminController(); var expectedProduct = db.Products.AsNoTracking().First(); var context = new Mock <HttpContextBase>(); var request = new Mock <HttpRequestBase>(); var files = new Mock <HttpFileCollectionBase>(); var file = new Mock <HttpPostedFileBase>(); context.Setup(c => c.Request).Returns(request.Object); request.Setup(r => r.Files).Returns(files.Object); files.Setup(f => f["Avatar"]).Returns(file.Object); file.Setup(f => f.ContentLength).Returns(1); context.Setup(c => c.Server.MapPath("~/App_Data")).Returns("~/App_Data"); controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); //var db = new DIENMAYQUYETTIENEntities(); //var model = new Product(); //model.ProductTypeID = db.ProductTypes.First().ID; //model.ProductName = "TenSP"; //model.ProductCode = "TVI0001"; //model.OriginPrice = 123; //model.SalePrice = 456; //model.InstallmentPrice = 789; //model.Quantity = 10; using (var scope = new TransactionScope()) { var result0 = controller.Edit(expectedProduct) as RedirectToRouteResult; Assert.IsNotNull(result0); //file.Verify(f => f.SaveAs(It.Is<string>(s => s.StartsWith("~/App_Data/")))); Assert.AreEqual("Index", result0.RouteValues["action"]); file.Setup(f => f.ContentLength).Returns(0); var result1 = controller.Edit(expectedProduct) as RedirectToRouteResult; Assert.IsNotNull(result1); //Assert.IsInstanceOfType(result1.ViewData["ProductTypeID"], typeof(SelectList)); } }
public void CreatePostTest() { var controller = new ProductAdminController(); var context = new Mock <HttpContextBase>(); var request = new Mock <HttpRequestBase>(); var files = new Mock <HttpFileCollectionBase>(); var file = new Mock <HttpPostedFileBase>(); context.Setup(c => c.Request).Returns(request.Object); request.Setup(r => r.Files).Returns(files.Object); files.Setup(f => f["Imagefile"]).Returns(file.Object); file.Setup(f => f.ContentLength).Returns(1); context.Setup(c => c.Server.MapPath("~/Image")).Returns("~/Image"); controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); var db = new DIENMAYQUYETTIENEntities(); var model = new Product(); model.ProductTypeID = db.ProductTypes.First().ID; model.ProductName = "TenSP"; model.ProductCode = "TVI0001"; model.OriginPrice = 123; model.SalePrice = 456; model.InstallmentPrice = 789; model.Quantity = 10; using (var scope = new TransactionScope()) { var result0 = controller.Create(model) as RedirectToRouteResult; Assert.IsNotNull(result0); file.Verify(f => f.SaveAs(It.Is <string>(s => s.StartsWith("~/Image/")))); Assert.AreEqual("Index", result0.RouteValues["action"]); file.Setup(f => f.ContentLength).Returns(0); var result1 = controller.Create(model) as ViewResult; Assert.IsNotNull(result1); // Select List theo Mr Duy; Assert.IsInstanceOfType(result1.ViewBag.ProductType, typeof(List <ProductType>)); } }
public void TestEdit1() { // arrange var db = new DIENMAYQUYETTIENEntities(); var expectedProduct = db.Products.First(); var controller = new ProductAdminController(); var session = new Mock <HttpSessionStateBase>(); var context = new Mock <HttpContextBase>(); //context.Setup(c => c.Session["Username"]).Returns("abc"); context.Setup(c => c.Session).Returns(session.Object); controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); session.Setup(s => s["Username"]).Returns("abc"); // act var result = controller.Edit(expectedProduct.ID) as ViewResult; Assert.IsNotNull(result); Assert.IsInstanceOfType(result.ViewData["ProductTypeID"], typeof(SelectList)); //Assert.IsInstanceOfType(result.ViewBag.ProductTypes, typeof(List<ProductType>)) }
public void UpdateTest() { var db = new DIENMAYQUYETTIENEntities(); var pro = db.Products.First(); var controller = new ProductAdminController(); var session = new Mock <HttpSessionStateBase>(); var context = new Mock <HttpContextBase>(); context.Setup(c => c.Session).Returns(session.Object); controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); // act var result = controller.Edit(pro.ID) as ViewResult; Assert.IsNotNull(result); // Select List theo Mrs Chau; //Assert.IsInstanceOfType(result.ViewData["ProductType"], typeof(SelectList)); // Select List theo Mr Duy; Assert.IsInstanceOfType(result.ViewBag.ProductType, typeof(List <ProductType>)); }