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