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 SolicitarTarjeta_maximoTarjetas() { var usuario = new Usuario() { Cuentas = new ICuentaBancaria[] { new TarjetaClasica(), new TarjetaPlatino() } }; var tarjeta = new TarjetaOro(); var objetoFalse = new Mock <IRepositorioConfiguraciones>(); objetoFalse.Setup(m => m.SeleccionarMaximoDeTarjetasPorUsuario()).Returns(2); var servicios = new ServiciosDeCuentaDependientes(objetoFalse.Object); Assert.IsFalse(servicios.SolicitarTarjeta(usuario, tarjeta)); }
public void SolicitarTarjeta_BuroOro() { var usuario = new Usuario() { Cuentas = new ICuentaBancaria[] { new TarjetaClasica(), new TarjetaPlatino() } }; var RFC = "4F8"; var tarjeta = new TarjetaOro(); var objetoBuro = new Mock <IServicioExternoBuro>(); objetoBuro.Setup(b => b.ConsultarBuro(RFC)).Returns(60); 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)); }