예제 #1
0
        public void Agrega_producto_existente()
        {
            //Arrange
            var cart = new Cart();
            var ptest = new Product() { ProductID = 99 };            

            //Act
            cart.Add(ptest,1);
            cart.Add(ptest,4);

            //Assert
            Assert.AreEqual(cart.Lines.Count(), 1);
            Assert.AreEqual(cart.Lines.First().Product.ProductID, 99);
            Assert.AreEqual(cart.Lines.First().Quantity,5);
        }
예제 #2
0
        public void Calcula_precio_productos()
        {
            //Arrange
            var cart = new Cart();
            var ptest = new Product()
            {
                ProductID = 1,Price = 99
            };
            var pse = new Product()
            {
                ProductID = 2,Price = 50
            };

            //Act
            cart.Add(ptest,1);
            cart.Add(pse,2);

            //Assert
            Assert.AreEqual(cart.TotalPrice,199);
        }
        public ActionResult AddToCart(Cart cart,int productID,string returnUrl)
        {
            var product = _productRepository.Products
                .FirstOrDefault(x => x.ProductID == productID);

            if (product != null)
            {
                cart.Add(product,1);
            }
            return RedirectToAction("Index",new {returnUrl});
        }
예제 #4
0
 public void Carrito_se_limpia_al_llamar_clear()
 {
     //Arrange
     var carrito = new Cart();
     var producto = new Product() { ProductID = 1 };
     carrito.Add(producto, 3);
     const int items = 0;
     //Act Llama la función
     carrito.Clear();
     //Assert comparar
     Assert.AreEqual(carrito.Lines.Count(), items);
 }
예제 #5
0
        public void Remove_quita_producto_existente()
        {
            //Arrange
            var cart = new Cart();
            var ptest = new Product() {ProductID = 13};            
            //Act
            cart.Add(ptest,1);
            cart.Remove(ptest);

            //Assert
            Assert.AreEqual(cart.Lines.Count(),0);
        }
예제 #6
0
        public void Agrega_producto_nuevo()
        {
            //Arrange
            var cart = new Cart();
            var ptest = new Product() {ProductID = 99};
            var qtest = 3;

            //Act
            cart.Add(ptest,qtest);

            //Assert
            Assert.AreEqual(cart.Lines.Count(),1);
            Assert.AreEqual(cart.Lines.First().Product.ProductID,99);
            Assert.AreEqual(cart.Lines.First().Quantity,qtest);
        }
예제 #7
0
        //Metodo que devuelve una acción
        //Debe de recibir los mismos nombres que están en la vista de ProductSummary
        public ActionResult AddToCart(Cart cart, int productID, string returnUrl)
        {
            //Para buscar, traer cualquier producto usamos el objeto repository
            //FirstOrDefault si no lo encuentra devuelve nullo
            var product = _productRepository.Products.FirstOrDefault(x => x.ProductID == productID);

            if (product!=null)
            {
                //Obtiene un carrito y lo agrega
                cart.Add(product, 1);
            }
            //le pasas la vista index y el tipo de dato URL
            //el index no esta creado, por defecto tomaría el index de la carpeta Cart

            //return View("Index", new { returnUrl });
            return RedirectToAction("Index", new { returnUrl });
        }