public void RegistrarYAumentarCantidadExistenteProductoSimpleTest()
        {
            //Preparar
            var productoSimple = new ProductoSimple(nombre: "Salchicha", costo: 3000, precio: 7000, tipoProducto: "Ingrediente");
            var registro1      = productoSimple.RegistrarEntrada(5);
            //Acción
            var registro2 = productoSimple.RegistrarEntrada(3);

            //Verificación
            Assert.AreEqual("Registro exitoso, hay en existencia 8 productos", registro2);
        }
Example #2
0
        public void DisminuirCantidadExistenteIngredientesProductoCompuestoTest()
        {
            //Preparar

            ProductoSimple ingrediente1      = new ProductoSimple("Pan de perro caliente", 2500, 3000, "Ingrediente");
            var            registroEntradaI1 = ingrediente1.RegistrarEntrada(10);

            ProductoSimple ingrediente2      = new ProductoSimple("Salchicha de perro caliente", 1000, 4000, "Ingrediente");
            var            registroEntradaI2 = ingrediente2.RegistrarEntrada(10);

            ProductoSimple ingrediente3      = new ProductoSimple("Lamina de queso", 1000, 4000, "Ingrediente");
            var            registroEntradaI3 = ingrediente3.RegistrarEntrada(10);

            List <ProductoSimple> ingredientes = new List <ProductoSimple>();

            ingredientes.Add(ingrediente1);
            ingredientes.Add(ingrediente2);
            ingredientes.Add(ingrediente3);


            var productoCompuesto = new ProductoCompuesto(nombre: "Perro Caliente Sencillo", precio: 7000);

            productoCompuesto.AñadirIngredientes(ingrediente1, 1);
            productoCompuesto.AñadirIngredientes(ingrediente2, 1);
            productoCompuesto.AñadirIngredientes(ingrediente3, 1);

            //Acción
            var registroSalida = productoCompuesto.SalidaProducto(1);

            //Verificación
            Assert.AreEqual(ingrediente1.Cantidad, 9);
            Assert.AreEqual(ingrediente2.Cantidad, 9);
            Assert.AreEqual(ingrediente3.Cantidad, 9);
        }
Example #3
0
        public void CantidadSalidaMayorACeroProductoCompuestoTest()
        {
            //Preparar

            ProductoSimple ingrediente1      = new ProductoSimple("Pan de perro caliente", 2500, 3000, "Ingrediente");
            var            registroEntradaI1 = ingrediente1.RegistrarEntrada(10);

            ProductoSimple ingrediente2      = new ProductoSimple("Salchicha de perro caliente", 1000, 4000, "Ingrediente");
            var            registroEntradaI2 = ingrediente2.RegistrarEntrada(10);

            ProductoSimple ingrediente3      = new ProductoSimple("Lamina de queso", 1000, 4000, "Ingrediente");
            var            registroEntradaI3 = ingrediente3.RegistrarEntrada(10);

            List <ProductoSimple> ingredientes = new List <ProductoSimple>();

            ingredientes.Add(ingrediente1);
            ingredientes.Add(ingrediente2);
            ingredientes.Add(ingrediente3);


            var productoCompuesto = new ProductoCompuesto(nombre: "Perro Caliente Sencillo", precio: 7000);

            productoCompuesto.AñadirIngredientes(ingrediente1, 1);
            productoCompuesto.AñadirIngredientes(ingrediente2, 1);
            productoCompuesto.AñadirIngredientes(ingrediente3, 1);
            //Acción
            var registroSalida = productoCompuesto.SalidaProducto(0);

            //Verificación

            Assert.AreEqual("No se puede vender un producto con cantidad menor o igual a cero", registroSalida);
        }
Example #4
0
        public void Setup()
        {
            var connection = new SqliteConnection("Filename=:memory:");
            //Arrange
            var optionsSqlite = new DbContextOptionsBuilder <ventasContext>()
                                .UseSqlite(connection)
                                .Options;

            connection.Open();

            _dbContext = new ventasContext(optionsSqlite);
            _dbContext.Database.EnsureDeleted();
            _dbContext.Database.EnsureCreated();

            _salidaService = new SalidaProductoService(
                new UnitOfWork(_dbContext),
                new ProductoRepository(_dbContext));

            ProductoSimple pan = (ProductoSimple)ProductoMother.ProductoPan("005");

            pan.RegistrarEntrada(10);

            ProductoSimple salchicha = (ProductoSimple)ProductoMother.ProductoSalchicha("006");

            salchicha.RegistrarEntrada(10);

            ProductoCompuesto perro = new("004", "Perro", 5000, new List <Producto> {
                pan, salchicha
            });

            //_dbContext.Productos.Add(pan);
            _dbContext.Productos.Add(salchicha);
            _dbContext.Productos.Add(perro);
            _dbContext.SaveChanges();
        }
Example #5
0
        public void EntradaDebeAumentarCantidad()
        {
            ProductoSimple salchicha = new ProductoSimple("001", "Salchicha", 1000, 0, "Preparacion");

            //Act
            var respuesta = salchicha.RegistrarEntrada(10);

            //Assert
            Assert.AreEqual("Salchicha Nueva cantidad: 10", respuesta);
        }
        public void RegistroInicialProductoSimpleTest()
        {
            //Preparar
            var productoSimple = new ProductoSimple(nombre: "Salchicha", costo: 3000, precio: 7000, tipoProducto: "Ingrediente");
            //Acción
            var registro = productoSimple.RegistrarEntrada(3);

            //Verificación
            Assert.AreEqual("Registro exitoso, hay en existencia 3 productos", registro);
        }
        public void CantidadProductoARegistrarMayorACeroProductoSimpleTest()
        {
            //Preparar
            var productoSimple = new ProductoSimple(nombre: "Salchicha", costo: 3000, precio: 7000, tipoProducto: "Ingrediente");
            //Acción
            var resultado = productoSimple.RegistrarEntrada(0);

            //Verificación
            Assert.AreEqual("Para poder registrar un producto la cantidad debe ser mayor a cero", resultado);
        }
Example #8
0
        public void EntradaProductoMenorACero()
        {
            //Arrange
            ProductoSimple salchicha = new ProductoSimple("001", "Salchicha", 1000, 0, "Preparacion");

            //Act
            var respuesta = salchicha.RegistrarEntrada(-1);

            //Assert
            Assert.AreEqual("Entrada menor o igual a 0", respuesta);
        }
        public void CantidadSalidaMayorACeroProductoSimpleTest()
        {
            //Preparar
            var productoSimple  = new ProductoSimple(nombre: "Gaseosa", costo: 4000, precio: 7000, tipoProducto: "Venta Directa");
            var registroEntrada = productoSimple.RegistrarEntrada(5);
            //Acción
            var registroSalida = productoSimple.RegistrarSalida(0);

            //Verificación
            Assert.AreEqual("No se puede vender un producto con cantidad menor o igual a cero", registroSalida);
        }
        public void NoProductoVentaDirectaProductoSimpleTest()
        {
            //Preparar
            var productoSimple = new ProductoSimple(nombre: "Salchicha", costo: 4000, precio: 7000, tipoProducto: "Ingrediente");
            var registro1      = productoSimple.RegistrarEntrada(5);
            //Acción
            var salida = productoSimple.RegistrarSalida(2);

            //Verificación
            Assert.AreEqual("El producto no es para la venta directa", salida);
        }
        public void DisminuirCantidadExistenteProductoSimpleTest()
        {
            //Preparar
            var productoSimple = new ProductoSimple(nombre: "Gaseosa", costo: 4000, precio: 7000, tipoProducto: "Venta Directa");
            var registro1      = productoSimple.RegistrarEntrada(5);
            //Acción
            var salida = productoSimple.RegistrarSalida(2);

            //Verificación
            Assert.AreEqual("El precio de la venta es de $14000, hay en existencia 3 productos", salida);
        }
        public void CantidadSalidaMayorALaExistenciaProductoSimpleTest()
        {
            //Preparar
            var productoSimple  = new ProductoSimple(nombre: "Gaseosa", costo: 4000, precio: 7000, tipoProducto: "Venta Directa");
            var registroEntrada = productoSimple.RegistrarEntrada(5);
            //Acción
            var registroSalida = productoSimple.RegistrarSalida(7);

            //Verificación
            Assert.AreEqual("No hay suficientes productos para hacer la venta", registroSalida);
        }
Example #13
0
        public void SalidaSencillaDebeDisminuirCantidad()
        {
            //Arrange
            ProductoSimple cocacola = new ProductoSimple("002", "CocaCola", 1000, 3000, "Venta");

            //Act
            cocacola.RegistrarEntrada(10);
            var respuesta = cocacola.RegistrarSalida(6);

            //Assert
            Assert.AreEqual("Nueva salida: CocaCola, cantidad:6, costo:1000, precio:3000", respuesta);
        }
Example #14
0
        public void SalidaCompuestaDebeDisminuirCantidad()
        {
            ProductoSimple salchicha = new ProductoSimple("001", "Salchicha", 1000, 0, "Preparacion");
            ProductoSimple pan       = new ProductoSimple("002", "Pan", 500, 0, "Preparacion");

            salchicha.RegistrarEntrada(10);
            pan.RegistrarEntrada(10);
            List <Producto> ingredientes = new List <Producto>()
            {
                salchicha, pan
            };

            Producto perroCaliente = new ProductoCompuesto("003", "PerroCaliente", 5000, ingredientes);

            //Act
            var respuesta = perroCaliente.RegistrarSalida(2);


            //Assert
            Assert.AreEqual("Nueva salida: PerroCaliente, cantidad:2, costo:1500, precio:5000", respuesta);
        }