public List <EstadoPedidoDTO> Formatear(DatoSalidaDTO _salida)
        {
            List <EstadoPedidoDTO> estadosPedidos = new List <EstadoPedidoDTO>();
            var rangoTiempo = Validador.ValidaFecha(_salida.FechaHoy - _salida.FechaEntrega);
            var salida      = $"Tu paquete {LstExpresiones[0]} de {_salida.CiudadOrigen}, {_salida.PaisOrigen} y {LstExpresiones[1]} " +
                              $"a {_salida.CiudadDestino}, {_salida.PaisDestino} {LstExpresiones[2]} {rangoTiempo.Texto} y {LstExpresiones[3]} un costo de " +
                              $"{_salida.CostoServicio.ToString("C")} (Cualquier reclamación con {_salida.NombrePaqueteria.ToUpper()}).";

            estadosPedidos.Add(new EstadoPedidoDTO()
            {
                Estado       = "Pendiente",
                Paqueteria   = _salida.NombrePaqueteria.ToUpper(),
                Clasificador = rangoTiempo.Clasificador,
                Linea        = _salida.Linea,
                Mensaje      = salida,
                Color        = "Yellow"
            });
            if (_salida.OpcionMasEconomica != null)
            {
                estadosPedidos.Add(new EstadoPedidoDTO()
                {
                    Estado       = "Pendiente",
                    Paqueteria   = _salida.NombrePaqueteria.ToUpper(),
                    Clasificador = rangoTiempo.Clasificador,
                    Linea        = _salida.Linea,
                    Mensaje      = $"Si hubieras pedido en {_salida.OpcionMasEconomica.NombrePaqueteria} te hubiera costado {(_salida.CostoServicio - _salida.OpcionMasEconomica.CostoEnvio).ToString("C")} menos.",
                    Color        = "Gray"
                });
            }
            return(estadosPedidos);
        }
Beispiel #2
0
        public void Formatear_EntregadoConOpcionMasEconomica10Dias()//Invierno
        {
            //Arrange
            DatoSalidaDTO param = new DatoSalidaDTO()
            {
                CiudadOrigen       = "Ticul",
                CiudadDestino      = "Motul",
                PaisOrigen         = "Mexico",
                PaisDestino        = "Mexico",
                CostoServicio      = 1160m,
                FechaEntrega       = new DateTime(2020, 3, 2).AddDays(10),
                FechaHoy           = new DateTime(2020, 3, 2),
                Linea              = 1,
                NombrePaqueteria   = "Fedex",
                OpcionMasEconomica = new OpcionMasEconomicaDTO()
                {
                    NombrePaqueteria = "Dhl", CostoEnvio = 1100
                }
            };
            List <EstadoPedidoDTO> lstEstados = new List <EstadoPedidoDTO>()
            {
                new EstadoPedidoDTO()
                {
                    Color = "Yellow", Linea = 1, Mensaje = "Tu paquete ha salido de Ticul, Mexico y llegará a Motul, Mexico dentro de 10 Días y tendrá un costo de $1,160.00 (Cualquier reclamación con FEDEX)."
                },
                new EstadoPedidoDTO()
                {
                    Color = "Gray", Linea = 1, Mensaje = "Si hubieras pedido en Dhl te hubiera costado $60.00 menos."
                }
            };
            var DOCrangoValidador = new Mock <IRangoTiempoValidador>();

            DOCrangoValidador.Setup(doc => doc.ValidaFecha(It.IsAny <TimeSpan>())).Returns("10 Días");

            var SUT = new FormatoPedidoPendiente(DOCrangoValidador.Object);
            //ACT
            var textoFormateado = SUT.Formatear(param);

            //Assert
            Assert.IsTrue(
                lstEstados[0].Mensaje.Equals(textoFormateado[0].Mensaje) &&
                lstEstados[0].Color.Equals(textoFormateado[0].Color) &&
                lstEstados[1].Mensaje.Equals(textoFormateado[1].Mensaje) &&
                lstEstados[1].Color.Equals(textoFormateado[1].Color)
                );
        }
Beispiel #3
0
        public void Formatear_EntregadoSinOpcionMasEconomica10Dias()//Invierno
        {
            //Arrange
            DatoSalidaDTO param = new DatoSalidaDTO()
            {
                CiudadOrigen     = "Ticul",
                CiudadDestino    = "Motul",
                PaisOrigen       = "Mexico",
                PaisDestino      = "Mexico",
                CostoServicio    = 1160m,
                FechaEntrega     = new DateTime(2020, 3, 2).AddDays(10),
                FechaHoy         = new DateTime(2020, 3, 2),
                Linea            = 1,
                NombrePaqueteria = "Fedex"
            };
            List <EstadoPedidoDTO> lstEstados = new List <EstadoPedidoDTO>()
            {
                new EstadoPedidoDTO()
                {
                    Color = "Green", Linea = 1, Mensaje = "Tu paquete salió de Ticul, Mexico y llegó a Motul, Mexico hace 10 Días y tuvo un costo de $1,160.00 (Cualquier reclamación con FEDEX)."
                },
            };
            var DOCrangoValidador = new Mock <IRangoTiempoValidador>();

            DOCrangoValidador.Setup(doc => doc.ValidaFecha(It.IsAny <TimeSpan>())).Returns("10 Días");

            var SUT = new FormatoPedidoEntregado(DOCrangoValidador.Object);
            //ACT
            var textoFormateado = SUT.Formatear(param);

            //Assert
            Assert.IsTrue(
                lstEstados[0].Mensaje.Equals(textoFormateado[0].Mensaje) &&
                lstEstados[0].Color.Equals(textoFormateado[0].Color)
                );
        }