Beispiel #1
0
        public TarjetaDeCredito SeleccionarTarjeta(int idTarjeta)
        {
            TarjetaDeCredito result = null;

            using (SqlConnection connection = new SqlConnection(
                       Constantes.SqlConnectionString))
            {
                SqlCommand command = new SqlCommand($"SELECT * FROM Tarjetas WHERE Id= {idTarjeta}", connection);
                command.Connection.Open();
                var reader = command.ExecuteReader();
                while (reader.Read())
                {
                    var tipo = (int)reader[0];
                    switch (tipo)
                    {
                    case 1:
                        result = new TarjetaClasica();
                        break;

                    case 2:
                        result = new TarjetaOro();
                        break;

                    case 3:
                        result = new TarjetaPlatino();
                        break;
                    }
                }
            }
            return(result);
        }
Beispiel #2
0
        public void SolicitarTarjeta_YaTieneTarjeta()
        {
            TarjetaClasica tarjetaClasica           = new TarjetaClasica();
            TarjetaOro     tarjetaOro               = new TarjetaOro();
            TarjetaPlatino tarjetaPlatino           = new TarjetaPlatino();
            TarjetaPlatino tarjetaNueva             = new TarjetaPlatino();
            ServiciosDeCuentaDependientes servicios = new ServiciosDeCuentaDependientes();
            Usuario usuario = new Usuario()
            {
                Cuentas = new ICuentaBancaria[] { tarjetaClasica, tarjetaOro, tarjetaPlatino }
            };

            Assert.IsFalse(servicios.SolicitarTarjeta(usuario, tarjetaNueva));
        }
Beispiel #3
0
        public void RetirarDeCajero_TarjetaDeCredito()
        {
            decimal cantidad       = 70M;
            decimal comision       = cantidad * .06M;
            var     moneda         = new Moneda(150M, Divisa.MXN);
            var     monedaResta    = new Moneda(150 - cantidad - comision, Divisa.MXN);
            var     cuentaBancaria = new TarjetaClasica()
            {
                NIP     = 1111,
                Balance = moneda
            };

            servicios.RetirarDeCajero(cuentaBancaria, 1111, cantidad);
            Assert.AreEqual(monedaResta, cuentaBancaria.Balance);
        }
Beispiel #4
0
        public void PagarTarjeta_DifDiv()
        {
            CuentaDeAhorro cuentaOrigen = new CuentaDeAhorro()
            {
                Balance = new Moneda(100M, Divisa.USD)
            };
            TarjetaClasica tarjeta = new TarjetaClasica()
            {
                Balance = new Moneda(100M, Divisa.MXN)
            };
            Moneda cantidad = new Moneda(100M, Divisa.EUR);

            void myFunc() => servicios.PagarTarjeta(cuentaOrigen, tarjeta, cantidad);

            Assert.Throws <InvalidOperationException>(myFunc);
        }
Beispiel #5
0
        public void PagarTarjeta_DifId()
        {
            CuentaDeAhorro cuentaOrigen = new CuentaDeAhorro()
            {
                Titular = new Usuario()
                {
                    Id = 1
                }
            };
            TarjetaClasica tarjetaClasica = new TarjetaClasica()
            {
                Titular = new Usuario()
                {
                    Id = 2
                }
            };

            void myFunc() => servicios.PagarTarjeta(cuentaOrigen, tarjetaClasica, new Moneda(100M, Divisa.CHF));
        }
Beispiel #6
0
        public void SolicitarTarjeta_BuroClasic()
        {
            var usuario = new Usuario()
            {
                Cuentas = new ICuentaBancaria[]
                {
                    new TarjetaOro(),
                    new TarjetaPlatino()
                }
            };
            var RFC        = "4F8";
            var tarjeta    = new TarjetaClasica();
            var objetoBuro = new Mock <IServicioExternoBuro>();

            objetoBuro.Setup(b => b.ConsultarBuro(RFC)).Returns(25);
            var objetoConf = new Mock <IRepositorioConfiguraciones>();

            objetoConf.Setup(c => c.SeleccionarMaximoDeTarjetasPorUsuario()).Returns(3);
            var servicios = new ServiciosDeCuentaDependientes(objetoBuro.Object, objetoConf.Object);

            Assert.IsFalse(servicios.SolicitarTarjeta(usuario, tarjeta));
        }