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); }
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) ); }
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) ); }