示例#1
0
        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");
            }
        }
示例#2
0
        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);
        }
示例#6
0
        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);
        }
示例#7
0
        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);
        }
示例#8
0
 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");
        }
示例#11
0
        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>));
            }
        }
示例#13
0
        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>));
        }