public void ConsignacionInicialCorrecta()
        {
            string numeroDeCuenta             = "1001";
            string nombreDeCuenta             = "Cuenta de Ejemplo";
            CertificadoDeDepositoATermino cdt = new CertificadoDeDepositoATermino();

            cdt.Numero = numeroDeCuenta;
            cdt.Nombre = nombreDeCuenta;

            IList <string> errores = cdt.CanConsign(1500000);
            string         obtenido;
            string         esperado = $"Su Nuevo Saldo es de ${1500000} pesos";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cdt.Consignar(1500000, "No implementa");
            }


            Assert.AreEqual(esperado, obtenido);
        }
        public void DobleConsignacion()
        {
            string numeroDeCuenta             = "1001";
            string nombreDeCuenta             = "Cuenta de Ejemplo";
            CertificadoDeDepositoATermino cdt = new CertificadoDeDepositoATermino();

            cdt.Numero = numeroDeCuenta;
            cdt.Nombre = nombreDeCuenta;

            cdt.Consignar(1500000, "No implementa");
            IList <string> errores = cdt.CanConsign(1500000);
            string         obtenido;
            string         esperado = "No es posible realizar una segunda consignacion";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cdt.Consignar(1500000, "No implementa");
            }


            Assert.AreEqual(esperado, obtenido);
        }
        public void RetiroExitoso()
        {
            string numeroDeCuenta             = "1001";
            string nombreDeCuenta             = "Cuenta de Ejemplo";
            CertificadoDeDepositoATermino cdt = new CertificadoDeDepositoATermino();

            cdt.Numero        = numeroDeCuenta;
            cdt.Nombre        = nombreDeCuenta;
            cdt.DiasDeTermino = -1;//Con tal de validarlo
            cdt.Consignar(1500000, "No implementa");
            IList <string> errores = cdt.CanWithDraw(500);
            string         obtenido;
            string         esperado = $"Su Nuevo Saldo es de ${1500000-500} pesos";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cdt.Retirar(500);
            }

            Assert.AreEqual(esperado, obtenido);
        }
        public void ConsignacionInicialIncorrecta()
        {
            string numeroDeCuenta             = "1001";
            string nombreDeCuenta             = "Cuenta de Ejemplo";
            CertificadoDeDepositoATermino cdt = new CertificadoDeDepositoATermino();

            cdt.Numero = numeroDeCuenta;
            cdt.Nombre = nombreDeCuenta;

            IList <string> errores = cdt.CanConsign(500);
            string         obtenido;
            string         esperado = "El valor de la consignacion inicial" +
                                      $" debe ser de {CertificadoDeDepositoATermino.VALOR_CONSIGNACION_INICIAL}";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cdt.Consignar(500, "No implementa");
            }


            Assert.AreEqual(esperado, obtenido);
        }
        public void ValidarConsignacionNegativa()
        {
            string numeroDeCuenta             = "1001";
            string nombreDeCuenta             = "Cuenta de Ejemplo";
            CertificadoDeDepositoATermino cdt = new CertificadoDeDepositoATermino();

            cdt.Numero = numeroDeCuenta;
            cdt.Nombre = nombreDeCuenta;

            IList <string> errores = cdt.CanConsign(-500);
            string         obtenido;
            string         esperado = "El valor a consignar es incorrecto";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cdt.Consignar(-500, "No implementa");
            }


            Assert.AreEqual(esperado, obtenido);
        }
        public void RetiroAntesDeLosDiasDeTermino()
        {
            string numeroDeCuenta             = "1001";
            string nombreDeCuenta             = "Cuenta de Ejemplo";
            CertificadoDeDepositoATermino cdt = new CertificadoDeDepositoATermino();

            cdt.Numero = numeroDeCuenta;
            cdt.Nombre = nombreDeCuenta;

            IList <string> errores = cdt.CanWithDraw(500);
            string         obtenido;
            string         esperado = $"No es posible retirar antes de los" +
                                      $"{cdt.DiasDeTermino} definidos en el contrato";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cdt.Retirar(500);
            }

            Assert.AreEqual(esperado, obtenido);
        }
示例#7
0
        private ServicioFinanciero InicializarServicioFinanciero(ServicioFinanciero servicioFinanciero, CrearServicioFinancieroRequest request)
        {
            servicioFinanciero.Nombre = request.Nombre;
            servicioFinanciero.Numero = request.Numero;
            servicioFinanciero.Ciudad = request.Ciudad;
            switch (request.TipoCuenta)
            {
            case (int)ServicioFinancieroEnum.CUENTA_DE_AHORROS: return(servicioFinanciero);

            case (int)ServicioFinancieroEnum.CUENTA_CORRIENTE:
                CuentaCorriente cuentaCorriente = (CuentaCorriente)servicioFinanciero;
                cuentaCorriente.CupoDeSobregiro = request.CupoDeSobregiro;
                return(cuentaCorriente);

            case (int)ServicioFinancieroEnum.CERTIFICADO_DE_DEPOSITO_A_TERMINO:
                CertificadoDeDepositoATermino cdt = (CertificadoDeDepositoATermino)servicioFinanciero;
                cdt.DiasDeTermino = request.DiasDeTermino;
                return(cdt);

            case (int)ServicioFinancieroEnum.TARJETA_DE_CREDITO:
                TarjetaDeCredito tarjetaDeCredito = (TarjetaDeCredito)servicioFinanciero;
                tarjetaDeCredito.ContratarCupo(request.CupoPreAprobado);
                return(tarjetaDeCredito);

            default: throw new InvalidOperationException();
            }
        }
示例#8
0
        public void ConsignarCertificadoDepositoTerminoTest()
        {
            var cuenta = new CertificadoDeDepositoATermino();

            cuenta.Numero         = "111";
            cuenta.Nombre         = "CDT Ejemplo";
            cuenta.FechaDeInicio  = DateTime.Now;
            cuenta.FechaDeTermino = new DateTime(2020, 3, 4); // A�o Mes Dia
            cuenta.Consignar(1000000, "Valledupar");
            Assert.AreEqual(1000000, cuenta.Saldo);
        }
示例#9
0
        public void RetirarCertificadoDepositoTerminoTest()
        {
            var cuenta = new CertificadoDeDepositoATermino();

            cuenta.Numero         = "111";
            cuenta.Nombre         = "Ahorro Ejemplo";
            cuenta.FechaDeInicio  = new DateTime(2020, 1, 3);
            cuenta.FechaDeTermino = new DateTime(2020, 5, 4);
            cuenta.Consignar(1000000);
            cuenta.Retirar(1000000);
            Assert.AreEqual(0, cuenta.Saldo);
        }
示例#10
0
        public void RetirarCertificadoDepositoTerminoTest()
        {
            var cuenta = new CertificadoDeDepositoATermino();

            cuenta.Numero         = "111";
            cuenta.Nombre         = "CDT Ejemplo";
            cuenta.FechaDeInicio  = new DateTime(2020, 1, 3);
            cuenta.FechaDeTermino = new DateTime(2020, 5, 4);
            cuenta.Consignar(1000000, "Valledupar");
            InvalidOperationException ex = Assert.Throws <InvalidOperationException>(() => cuenta.Retirar(10000));

            Assert.AreEqual(ex.Message, "No es posible realizar el Retiro, porque no se ha cumplido la fecha a termino");
        }
示例#11
0
        public CrearDepositoATerminoResponse Ejecutar(CrearDepositoATerminoRequest request)
        {
            CertificadoDeDepositoATermino cdt = _unitOfWork.DepositoATerminoRepository.FindFirstOrDefault(t => t.Numero == request.Numero);

            if (cdt == null)
            {
                CertificadoDeDepositoATermino cdtNuevo = new CertificadoDeDepositoATermino();
                cdtNuevo.Nombre = request.Nombre;
                cdtNuevo.Numero = request.Numero;
                _unitOfWork.DepositoATerminoRepository.Add(cdtNuevo);
                _unitOfWork.Commit();
                return(new CrearDepositoATerminoResponse()
                {
                    Mensaje = $"Se creó con exito el deposito {cdtNuevo.Numero}."
                });
            }
            else
            {
                return(new CrearDepositoATerminoResponse()
                {
                    Mensaje = $"El número de deposito ya exite"
                });
            }
        }
        public void RetiroDejandoSaldoNegativo()
        {
            string numeroDeCuenta             = "1001";
            string nombreDeCuenta             = "Cuenta de Ejemplo";
            CertificadoDeDepositoATermino cdt = new CertificadoDeDepositoATermino();

            cdt.Numero        = numeroDeCuenta;
            cdt.Nombre        = nombreDeCuenta;
            cdt.DiasDeTermino = -1;
            IList <string> errores = cdt.CanWithDraw(500);
            string         obtenido;
            string         esperado = $"No es posible realizar el retiro por falta de saldo, su saldo: {cdt.Saldo}";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cdt.Retirar(500);
            }

            Assert.AreEqual(esperado, obtenido);
        }
        public void ValidarRetiroNegativo()
        {
            string numeroDeCuenta             = "1001";
            string nombreDeCuenta             = "Cuenta de Ejemplo";
            CertificadoDeDepositoATermino cdt = new CertificadoDeDepositoATermino();

            cdt.Numero = numeroDeCuenta;
            cdt.Nombre = nombreDeCuenta;

            IList <string> errores = cdt.CanWithDraw(-500);
            string         obtenido;
            string         esperado = "El valor a retirar es incorrecto";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cdt.Retirar(-500);
            }

            Assert.AreEqual(esperado, obtenido);
        }