示例#1
0
        public virtual bool Pass(Producto producto)
        {
            if (!codeNoExiste(producto.Code))

                errors.Add("Code", "El Código Ya existe");

            return true;
        }
        public void ProductoSinNombreDebeRetornarFalse()
        {
            var validator = new ProductoValidator();
            var producto = new Producto();

               var result = validator.Pass(producto);

               Assert.False(result);
        }
示例#3
0
        public void Update(Producto producto)
        {
            var result = (from p in entities.Productos where p.Id == producto.Id select p).First();

            result.Name = producto.Name;

            result.Code = producto.Code;

            entities.SaveChanges();
        }
        public void ProductoConNombreYCodigoDebeRetornarTrue()
        {
            var validator = new ProductoValidator();
            var producto = new Producto {
                Code = "001",
                Name = "Producto 1"
            };

            var result = validator.Pass(producto);

            Assert.True(result);
        }
        public void TestPostCreateCallStoreMethodFromRepository()
        {
            var producto = new Producto();

            var repositoryMock = new Mock<InterfaceProducto>();

            var validatorMock = new Mock<ProductoValidator>();

            validatorMock.Setup(o => o.Pass(producto)).Returns(true);

            repositoryMock.Setup(o => o.Store(producto));

            var controller = new ProductoController(repositoryMock.Object, validatorMock.Object);

            var redirect = controller.Create(producto, null);

            repositoryMock.Verify(o => o.Store(producto), Times.Once());
        }
示例#6
0
        public ActionResult Create(Producto producto, HttpPostedFileBase file)
        {
            validator.Execute(producto);
            validator.errors.ToList().ForEach(x => ModelState.AddModelError(x.Key, x.Value));

            if (ModelState.IsValid)
            {
                producto.Path = SaveFile(file);

                repository.Store(producto);

                TempData["UpdateSuccess"] = "Se Guardo Correctamente";

                return RedirectToAction("Index");
            }

            return View("Create", producto);
        }
示例#7
0
 public void Execute(Producto producto)
 {
     Pass(producto);
 }
示例#8
0
 public void Store(Producto producto)
 {
     entities.Productos.Add(producto);
     entities.SaveChanges();
 }
        public void TestPostCreateOKReturnRedirect()
        {
            var producto = new Producto();

            var repositoryMock = new Mock<InterfaceProducto>();

            repositoryMock.Setup(o => o.Store(new Producto()));

            var validatorMock = new Mock<ProductoValidator>();

            validatorMock.Setup(o => o.Pass(producto)).Returns(true);

            var controller = new ProductoController(repositoryMock.Object, validatorMock.Object);

            var redirect = (RedirectToRouteResult)controller.Create(producto, null);

            Assert.IsInstanceOf(typeof(RedirectToRouteResult), redirect);
        }
        public void TestPostCreateReturnViewWithErrorsWhenValidationFail()
        {
            var producto = new Producto { };

            var mock = new Mock<ProductoValidator>();

            mock.Setup(o => o.Pass(producto)).Returns(false);

            var controller = new ProductoController(null, mock.Object);

            var view = controller.Create(producto, null);

            Assert.IsInstanceOf(typeof(ViewResult), view);
        }
示例#11
0
 public ActionResult Edit(Producto producto)
 {
     repository.Update(producto);
     TempData["UpdateSuccess"] = "Se Actualizó Correctamente";
     return RedirectToAction("Index");
 }