public void AsignarPaqueteria_ParametroSinValor_RetornaMensajeSinValor()
        {
            string cMensajeEsperado = " (Cualquier reclamación con ).";
            BuilderMensajePedido builderMensajePedido = new BuilderMensajePedido();

            builderMensajePedido.AsignarPaqueteria(string.Empty);
            string cMensaje = builderMensajePedido.ObtenerMensaje();

            Assert.AreEqual(cMensajeEsperado, cMensaje);
        }
        public void AsignarPaqueteriaAlternativa_ParametrosSinValor_RetornaMensajeSinValor()
        {
            string cMensajeEsperado = "Si hubieras pedido en  te hubiera costado $0.00 más barato.";
            BuilderMensajePedido builderMensajePedido = new BuilderMensajePedido();

            builderMensajePedido.AsignarPaqueteriaAlternativa(string.Empty, 0);
            string cMensaje = builderMensajePedido.ObtenerMensaje();

            Assert.AreEqual(cMensajeEsperado, cMensaje);
        }
        public void AsignarCostoEnvio_ParametroSinValor_RetornaMensajeSinValor()
        {
            string cMensajeEsperado = " un costo de $0.00";
            BuilderMensajePedido builderMensajePedido = new BuilderMensajePedido();

            builderMensajePedido.AsignarCostoEnvio(0);
            string cMensaje = builderMensajePedido.ObtenerMensaje();

            Assert.AreEqual(cMensajeEsperado, cMensaje);
        }
        public void AsignarExpresion2_FechaEntregaMenorFechaActual_RetornaMensajeLlego()
        {
            string               cMensajeEsperado     = " y llegó";
            DateTime             dtFechaEntrega       = DateTime.Now.AddDays(-10);
            BuilderMensajePedido builderMensajePedido = new BuilderMensajePedido();

            builderMensajePedido.AsignarExpresion2(dtFechaEntrega);
            string cMensaje = builderMensajePedido.ObtenerMensaje();

            Assert.AreEqual(cMensajeEsperado, cMensaje);
        }
        public void AsignarErrorTransporte_IErrorPaqueteriaValorTransporte_RetornaMensajeSinValor()
        {
            string cMensajeEsperado = string.Empty;
            int    iError           = (int)EnumErrores.ErrorPaqueteria;
            BuilderMensajePedido builderMensajePedido = new BuilderMensajePedido();

            builderMensajePedido.AsignarErrorTransporte(iError, string.Empty, string.Empty);
            string cMensaje = builderMensajePedido.ObtenerMensaje();

            Assert.AreEqual(cMensajeEsperado, cMensaje);
        }
        public void AsignarExpresion1_FechaEntregaMayorFechaActual_RetornaMensajeHaSalido()
        {
            string               cMensajeEsperado     = "Tu paquete ha salido ";
            DateTime             dtFechaEntrega       = DateTime.Now.AddDays(10);
            BuilderMensajePedido builderMensajePedido = new BuilderMensajePedido();

            builderMensajePedido.AsignarExpresion1(dtFechaEntrega);
            string cMensaje = builderMensajePedido.ObtenerMensaje();

            Assert.AreEqual(cMensajeEsperado, cMensaje);
        }
        public void AsignarExpresion4_FechaEntregaMayorFechaActual_RetornaMensajeTendra()
        {
            string               cMensajeEsperado     = "y tendrá";
            DateTime             dtFechaEntrega       = DateTime.Now.AddDays(10);
            BuilderMensajePedido builderMensajePedido = new BuilderMensajePedido();

            builderMensajePedido.AsignarExpresion4(dtFechaEntrega);
            string cMensaje = builderMensajePedido.ObtenerMensaje();

            Assert.AreEqual(cMensajeEsperado, cMensaje);
        }
        public void AsignarRangoTiempo_ParametroSinValor_RetornaMensajeSinValor()
        {
            string               cMensajeEsperado     = " ";
            DateTime             dtFechaEntrega       = DateTime.Now.AddDays(10);
            BuilderMensajePedido builderMensajePedido = new BuilderMensajePedido();

            builderMensajePedido.AsignarRangoTiempo(string.Empty);
            string cMensaje = builderMensajePedido.ObtenerMensaje();

            Assert.AreEqual(cMensajeEsperado, cMensaje);
        }
        public void AsignarDestino_ParametrosConDatos_RetornaMensajeConDatosIngresados()
        {
            string cCiudadDestino = "Orizaba", cPaisDestino = "México";
            string cMensajeEsperado = " a Orizaba, México";

            BuilderMensajePedido builderMensajePedido = new BuilderMensajePedido();

            builderMensajePedido.AsignarDestino(cCiudadDestino, cPaisDestino);
            string cMensaje = builderMensajePedido.ObtenerMensaje();

            Assert.AreEqual(cMensajeEsperado, cMensaje);
        }
        public void AsignarOrigen_ParametrosSinDatos_RetornaMensajeSinDatosIngresados()
        {
            string cCiudadOrigen = string.Empty, cPaisOrigen = string.Empty;
            string cMensajeEsperado = " de , ";

            BuilderMensajePedido builderMensajePedido = new BuilderMensajePedido();

            builderMensajePedido.AsignarOrigen(cCiudadOrigen, cPaisOrigen);
            string cMensaje = builderMensajePedido.ObtenerMensaje();

            Assert.AreEqual(cMensajeEsperado, cMensaje);
        }
        public void AsignarErrorTransporte_IErrorTransporteValorTransporte_RetornaMensajeConValor()
        {
            string cMensajeEsperado = "Estafeta no ofrece el servicio de transporte Online, te recomendamos cotizar en otra empresa.";
            int    iError = (int)EnumErrores.ErrorTransporte;
            string cTransporte = "Online", cPaqueteria = "Estafeta";
            BuilderMensajePedido builderMensajePedido = new BuilderMensajePedido();

            builderMensajePedido.AsignarErrorTransporte(iError, cPaqueteria, cTransporte);
            string cMensaje = builderMensajePedido.ObtenerMensaje();

            Assert.AreEqual(cMensajeEsperado, cMensaje);
        }
        public void AsignarErrorPaqueteria_IErrorPaqueteriaValorPaqueteria_RetornaMensajeConValor()
        {
            string cMensajeEsperado = "La Paquetería: Correos no se encuentra registrada en nuestra red de distribución.";
            string cPaqueteria      = "Correos";
            int    iError           = (int)EnumErrores.ErrorPaqueteria;
            BuilderMensajePedido builderMensajePedido = new BuilderMensajePedido();

            builderMensajePedido.AsignarErrorPaqueteria(iError, cPaqueteria);
            string cMensaje = builderMensajePedido.ObtenerMensaje();

            Assert.AreEqual(cMensajeEsperado, cMensaje);
        }
        public void AsignarDestino_ParametrosSinDatos_RetornaMensajeSinDatosIngresados()
        {
            string cCiudadDestino = string.Empty, cPaisDestino = string.Empty;
            string cMensajeEsperado = " a , ";

            BuilderMensajePedido builderMensajePedido = new BuilderMensajePedido();

            builderMensajePedido.AsignarDestino(cCiudadDestino, cPaisDestino);
            string cMensaje = builderMensajePedido.ObtenerMensaje();

            Assert.AreEqual(cMensajeEsperado, cMensaje);
        }
Ejemplo n.º 14
0
        public void MostrarInformacionPedidos(List <string> _lstPedidos)
        {
            List <DatosPaqueteDTO> lstDatosPaquetes = envioPedidoViewModelService.AsignarDatosPaquetes(_lstPedidos);

            lstDatosPaquetes = validadorDatosPaquetesViewModelService.ValidarDatosPaquetes(lstDatosPaquetes);

            foreach (DatosPaqueteDTO datosPaquete in lstDatosPaquetes)
            {
                DatosPaqueteDTO       datosPaqueteDTO = new DatosPaqueteDTO();
                string                cMensajePedido  = string.Empty;
                DirectorMensajePedido director        = new DirectorMensajePedido();
                BuilderMensajePedido  builderMensaje  = new BuilderMensajePedido();
                director._BuilderMensajePedido = builderMensaje;
                datosPaqueteDTO = datosPaquete;

                if (!datosPaquete.lError)
                {
                    datosPaqueteDTO = envioPedidoViewModelService.AsignarDatosExtraPaquetes(datosPaquete);
                    datosPaqueteDTO = envioPedidoViewModelService.AsignarResultadosDatosPaquetes(datosPaqueteDTO);
                    director.GenerarEstructuraMensajePedido(datosPaqueteDTO);
                    cMensajePedido = builderMensaje.ObtenerMensaje();

                    MostrarMensaje(cMensajePedido, datosPaqueteDTO.iColorMensaje);//Original
                    MostrarInformacionArchivo(cMensajePedido, datosPaqueteDTO.iColorMensaje, datosPaqueteDTO.cPaqueteria);

                    List <DatosPaqueteDTO> lstDatosPaquetesEconomicos         = new List <DatosPaqueteDTO>();
                    List <DatosPaqueteDTO> lstDatosPedidosEconomicosFiltrados = new List <DatosPaqueteDTO>();
                    int iCantidadPaqueterias = Enum.GetNames(typeof(EnumTransportes)).Length;
                    lstDatosPaquetesEconomicos = envioPedidoViewModelService.AsignarDatosPaquetesEconomicos(datosPaqueteDTO, iCantidadPaqueterias);
                    lstDatosPaquetesEconomicos = validadorDatosPaquetesViewModelService.ValidarDatosPaquetes(lstDatosPaquetesEconomicos);
                    foreach (DatosPaqueteDTO datosPaqueteExtra in lstDatosPaquetesEconomicos.Where(x => x.iPaqueteria != datosPaqueteDTO.iPaqueteria))
                    {
                        DatosPaqueteDTO datosPaqueteDTOEconomico = new DatosPaqueteDTO();
                        datosPaqueteDTOEconomico = datosPaqueteExtra;
                        if (!datosPaqueteDTOEconomico.lError)
                        {
                            datosPaqueteDTOEconomico = envioPedidoViewModelService.AsignarDatosExtraPaquetes(datosPaqueteExtra);

                            bool lTransporteValido = validadorDatosPaquetesViewModelService.ValidarTransportesPaqueteria(datosPaqueteDTOEconomico.iTransporte, datosPaqueteDTOEconomico.lstTransporte);
                            if (lTransporteValido)
                            {
                                datosPaqueteDTOEconomico = envioPedidoViewModelService.AsignarResultadosDatosPaquetes(datosPaqueteDTOEconomico);
                                lstDatosPedidosEconomicosFiltrados.Add(datosPaqueteDTOEconomico);
                            }
                        }
                    }
                    DatosPaqueteDTO pedidoEconomico = lstDatosPedidosEconomicosFiltrados.Find(x => x.dCostoEnvio < datosPaqueteDTO.dCostoEnvio && x.iPaqueteria != datosPaqueteDTO.iPaqueteria);
                    if (pedidoEconomico != null)
                    {
                        pedidoEconomico.dCostoDiferencia = datosPaqueteDTO.dCostoEnvio - pedidoEconomico.dCostoEnvio;
                        director.AsignarPaqueteriaAlternativa(pedidoEconomico);
                        cMensajePedido = builderMensaje.ObtenerMensaje();
                        MostrarMensaje(cMensajePedido, (int)ConsoleColor.White);//Mas barato
                    }
                }
                else
                {
                    director.MostrarMensajeError(datosPaqueteDTO);
                    cMensajePedido = builderMensaje.ObtenerMensaje();
                    MostrarMensaje(cMensajePedido, datosPaqueteDTO.iColorMensaje);//Error
                }
            }
        }