Commit 6c7fbbd8 by Antonio Rueda

Añadido test para transferencia entre cuentas

parent 62b31fbe
...@@ -8,6 +8,9 @@ package es.ujaen.dae.ujacoin.servicios; ...@@ -8,6 +8,9 @@ package es.ujaen.dae.ujacoin.servicios;
import es.ujaen.dae.ujacoin.entidades.Cliente; import es.ujaen.dae.ujacoin.entidades.Cliente;
import es.ujaen.dae.ujacoin.entidades.Cuenta; import es.ujaen.dae.ujacoin.entidades.Cuenta;
import es.ujaen.dae.ujacoin.entidades.Tarjeta; import es.ujaen.dae.ujacoin.entidades.Tarjeta;
import es.ujaen.dae.ujacoin.entidades.movimientos.Ingreso;
import es.ujaen.dae.ujacoin.entidades.movimientos.TransferenciaEmitida;
import es.ujaen.dae.ujacoin.entidades.movimientos.TransferenciaRecibida;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
...@@ -99,7 +102,56 @@ public class ServicioUjaCoinTest { ...@@ -99,7 +102,56 @@ public class ServicioUjaCoinTest {
// Realizar ingreso y comprobar estado de la cuenta // Realizar ingreso y comprobar estado de la cuenta
servicioUjaCoin.ingreso(cuentas.get(0).getNum(), tarjeta.getNum(), 1000); servicioUjaCoin.ingreso(cuentas.get(0).getNum(), tarjeta.getNum(), 1000);
Assertions.assertThat(cuentas.get(0).listarMovimientosDesdeHasta(null, null)).hasSize(1); Assertions.assertThat(cuentas.get(0).listarMovimientos()).hasSize(1);
Assertions.assertThat(cuentas.get(0).listarMovimientos().get(0)).isInstanceOf(Ingreso.class);
Assertions.assertThat(cuentas.get(0).getSaldo()).isEqualTo(1000); Assertions.assertThat(cuentas.get(0).getSaldo()).isEqualTo(1000);
} }
@Test
@DirtiesContext(methodMode = MethodMode.AFTER_METHOD)
public void testTransferencia() {
// Registrar cliente
Cliente cliente = new Cliente(
"11995667D",
"Juan España España",
LocalDate.of(1990, 11, 1),
"Cl La Luz, 13 - Jaén",
"988674533",
"jee@gmail.com",
"claveyyy");
Cuenta cuenta = servicioUjaCoin.altaCliente(cliente);
// Añadir una tarjeta
Tarjeta tarjeta = new Tarjeta("4111111111111111", cliente.getNombre(), LocalDate.of(2022, 12, 1), "365");
servicioUjaCoin.registrarTarjeta(cliente.getDni(), tarjeta);
cliente.nuevaTarjeta(tarjeta);
// Obtener cuenta y realizar ingreso en cuenta
Cuenta cuentaOrigen = servicioUjaCoin.verCuentas(cliente.getDni()).get(0);
servicioUjaCoin.ingreso(cuentaOrigen.getNum(), tarjeta.getNum(), 1000);
// Crear segundo cliente
Cliente cliente2 = new Cliente(
"99207668E",
"Pedro Jaén, Jaén",
LocalDate.of(1992, 1, 2),
"Cl La Paz, 20 - Jaén",
"670701570",
"pjj@gmail.com",
"clavezzz");
// Dar de alta cliente y obtener cuenta
Cuenta cuentaDestino = servicioUjaCoin.altaCliente(cliente2);
// Realizar transferencia y comprobar movimientos
servicioUjaCoin.transferencia(cuentaOrigen.getNum(), cuentaDestino.getNum(), 500);
Assertions.assertThat(cuentaOrigen.listarMovimientos()).hasSize(2);
Assertions.assertThat(cuentaOrigen.listarMovimientos().get(1)).isInstanceOf(TransferenciaEmitida.class);
Assertions.assertThat(cuentaOrigen.getSaldo()).isEqualTo(500);
Assertions.assertThat(cuentaDestino.listarMovimientos()).hasSize(1);
Assertions.assertThat(cuentaDestino.listarMovimientos().get(0)).isInstanceOf(TransferenciaRecibida.class);
Assertions.assertThat(cuentaDestino.getSaldo()).isEqualTo(500);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment