public void GestorUbicaciones_Ejecutar_siLaCantidadDaJustaNoHayQueInsertarNuevaUbicacion() { LineaPedidoPicking linea = new LineaPedidoPicking { Id = 15, Producto = "A", Cantidad = 7, BaseImponible = 100, CantidadReservada = 7, FechaEntrega = new DateTime() }; // Hay reservadas más cantidad de las que tenemos en ubicaciones UbicacionPicking ubicacion = new UbicacionPicking { Id = 1, Producto = "A", Cantidad = 7, CantidadNueva = 7, Estado = 0, EstadoNuevo = 0 }; List<UbicacionPicking> ubicaciones = new List<UbicacionPicking>(); ubicaciones.Add(ubicacion); GestorUbicaciones gestor = new GestorUbicaciones(linea, ubicaciones); gestor.Ejecutar(); UbicacionPicking ubicacionNueva = ubicaciones.FindLast(u => u.Id == 0); Assert.IsNull(ubicacionNueva); }
public void GestorUbicaciones_Ejecutar_siEstaElProductoCambiaLaCantidadNuevaYElEstado() { LineaPedidoPicking linea = new LineaPedidoPicking { Id = 1, TipoLinea = Constantes.TiposLineaVenta.PRODUCTO, Producto = "A", Cantidad = 7, BaseImponible = 100, CantidadReservada = 7, FechaEntrega = new DateTime() }; UbicacionPicking ubicacion = new UbicacionPicking { Id = 1, Producto = "A", Cantidad = 10, CantidadNueva = 10, Estado = 0, EstadoNuevo = 0 }; List<UbicacionPicking> ubicaciones = new List<UbicacionPicking>(); ubicaciones.Add(ubicacion); GestorUbicaciones gestor = new GestorUbicaciones(linea, ubicaciones); gestor.Ejecutar(); Assert.AreEqual(10, ubicacion.Cantidad); Assert.AreEqual(7, ubicacion.CantidadNueva); Assert.AreEqual(0, ubicacion.Estado); Assert.AreEqual(3, ubicacion.EstadoNuevo); Assert.AreEqual(1, ubicacion.LineaPedidoVentaId); }
public void GestorUbicaciones_Ejecutar_siUnaUbicacionSeDivideDosVecesCogeCopiaIdEnVezDeId() { LineaPedidoPicking linea1 = new LineaPedidoPicking { Id = 1, TipoLinea = Constantes.TiposLineaVenta.PRODUCTO, Producto = "A", Cantidad = 5, CantidadReservada = 5 }; LineaPedidoPicking linea2 = new LineaPedidoPicking { Id = 1, TipoLinea = Constantes.TiposLineaVenta.PRODUCTO, Producto = "A", Cantidad = 4, CantidadReservada = 4 }; UbicacionPicking ubicacion = new UbicacionPicking { Id = 1, Producto = "A", Cantidad = 17, CantidadNueva = 17, Estado = 0, EstadoNuevo = 0 }; List<UbicacionPicking> ubicaciones = new List<UbicacionPicking>(); ubicaciones.Add(ubicacion); GestorUbicaciones gestor1 = new GestorUbicaciones(linea1, ubicaciones); gestor1.Ejecutar(); GestorUbicaciones gestor2 = new GestorUbicaciones(linea2, ubicaciones); gestor2.Ejecutar(); Assert.AreEqual(3, ubicaciones.Count); if (ubicaciones.Count == 3) { UbicacionPicking ubicacion1 = ubicaciones[0]; UbicacionPicking ubicacion2 = ubicaciones[1]; UbicacionPicking ubicacion3 = ubicaciones[2]; Assert.AreEqual(5, ubicacion1.CantidadNueva); Assert.AreEqual(4, ubicacion2.CantidadNueva); Assert.AreEqual(8, ubicacion3.CantidadNueva); Assert.IsTrue(ubicacion1.Id != 0 || ubicacion1.CopiaId != 0); Assert.IsTrue(ubicacion2.Id != 0 || ubicacion2.CopiaId != 0); Assert.IsTrue(ubicacion3.Id != 0 || ubicacion3.CopiaId != 0); } }
public void GestorUbicaciones_Ejecutar_siLaUbicacionEstaDescuadradaDebeDarError() { LineaPedidoPicking linea = new LineaPedidoPicking { Id = 15, TipoLinea = Constantes.TiposLineaVenta.PRODUCTO, Producto = "A", Cantidad = 7, BaseImponible = 100, CantidadReservada = 7, FechaEntrega = new DateTime() }; // Hay reservadas más cantidad de las que tenemos en ubicaciones UbicacionPicking ubicacion = new UbicacionPicking { Id = 5, Producto = "A", Cantidad = 6, CantidadNueva = 6, Estado = 0, EstadoNuevo = 0 }; List<UbicacionPicking> ubicaciones = new List<UbicacionPicking>(); ubicaciones.Add(ubicacion); GestorUbicaciones gestor = new GestorUbicaciones(linea, ubicaciones); gestor.Ejecutar(); }
public void GestorUbicaciones_Ejecutar_siLaLineaEsUnaCuentaContableNoHayQueInsertarNuevaUbicacion() { LineaPedidoPicking linea = new LineaPedidoPicking { Id = 15, TipoLinea = Constantes.TiposLineaVenta.CUENTA_CONTABLE, Producto = "62400003", Cantidad = 1, BaseImponible = 6, CantidadReservada = 1, FechaEntrega = new DateTime() }; List<UbicacionPicking> ubicaciones = new List<UbicacionPicking>(); GestorUbicaciones gestor = new GestorUbicaciones(linea, ubicaciones); gestor.Ejecutar(); UbicacionPicking ubicacionNueva = ubicaciones.FindLast(u => u.Id == 0); Assert.IsNull(ubicacionNueva); }
public void GestorUbicaciones_Ejecutar_siLaCantidadEsDistintaCreaUnaNuevaUbicacion() { LineaPedidoPicking linea = new LineaPedidoPicking { Id = 1, TipoLinea = Constantes.TiposLineaVenta.PRODUCTO, Producto = "A", Cantidad = 7, BaseImponible = 100, CantidadReservada = 7, FechaEntrega = new DateTime() }; UbicacionPicking ubicacion = new UbicacionPicking { Id = 1, Producto = "A", Cantidad = 10, CantidadNueva = 10, Estado = 0, EstadoNuevo = 0 }; List<UbicacionPicking> ubicaciones = new List<UbicacionPicking>(); ubicaciones.Add(ubicacion); GestorUbicaciones gestor = new GestorUbicaciones(linea, ubicaciones); gestor.Ejecutar(); UbicacionPicking ubicacionNueva = ubicaciones.FindLast(u => u.Id == 0); Assert.AreEqual(1, ubicacionNueva.CopiaId); Assert.AreEqual(3, ubicacionNueva.Cantidad); Assert.AreEqual(3, ubicacionNueva.CantidadNueva); Assert.AreEqual(0, ubicacionNueva.Estado); Assert.AreEqual(0, ubicacionNueva.EstadoNuevo); Assert.AreEqual(0, ubicacionNueva.LineaPedidoVentaId); }