Generation

fix invalid codeSun, 07 May 2023

package com.example.AvorisTech; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.*; import com.example.AvorisTech.exceptions.DineroInsuficienteException; import com.example.AvorisTech.models.Banco; import com.example.AvorisTech.models.Cuenta; import com.example.AvorisTech.repositories.BancoRepository; import com.example.AvorisTech.repositories.CuentaRepository; import com.example.AvorisTech.services.CuentaService; import com.example.AvorisTech.services.CuentaServiceImpl; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import java.math.BigDecimal; @SpringBootTest class AvorisTechApplicationTests { CuentaRepository cuentaRepository; BancoRepository bancoRepository; CuentaService service; @BeforeEach void setUp() { cuentaRepository = mock(CuentaRepository.class); bancoRepository = mock(BancoRepository.class); service = new CuentaServiceImpl(cuentaRepository,bancoRepository); } @Test void contextLoads() { when(cuentaRepository.findById(1L)).thenReturn(Datos.CUENTA_001); when(cuentaRepository.findById(2L)).thenReturn(Datos.CUENTA_002); when(bancoRepository.findById(1L)).thenReturn(Datos.BANCO); BigDecimal saldoOrigen = service.revisarSaldo(1L); BigDecimal saldoDestino = service.revisarSaldo(2L); assertEquals("1000",saldoOrigen.toPlainString()); assertEquals("2000",saldoDestino.toPlainString()); service.transferir(1L,2L,new BigDecimal("100"),1L); saldoOrigen = service.revisarSaldo(1L); saldoDestino = service.revisarSaldo(2L); assertEquals("900",saldoOrigen.toPlainString()); assertEquals("2100",saldoDestino.toPlainString()); int total = service.revisarTotalTransferencias(1L); assertEquals(1,total); verify(cuentaRepository,times(3)).findById(1L); verify(cuentaRepository,times(3)).findById(2L); verify(cuentaRepository,times(2)).update(any(Cuenta.class)); verify(bancoRepository,times(2)).findById(1L); verify(bancoRepository).update(any(Banco.class)); } @Test void contextLoads2() { when(cuentaRepository.findById(1L)).thenReturn(Datos.CUENTA_001); when(cuentaRepository.findById(2L)).thenReturn(Datos.CUENTA_002); when(bancoRepository.findById(1L)).thenReturn(Datos.BANCO); BigDecimal saldoOrigen = service.revisarSaldo(1L); BigDecimal saldoDestino = service.revisarSaldo(2L); assertEquals("1000",saldoOrigen.toPlainString()); assertEquals("2000",saldoDestino.toPlainString()); assertThrows(DineroInsuficienteException.class, ()->{ service.transferir(1L,2L,new BigDecimal("1200"),1L); }); saldoOrigen = service.revisarSaldo(1L); saldoDestino = service.revisarSaldo(2L); assertEquals("1000",saldoOrigen.toPlainString()); assertEquals("2000",saldoDestino.toPlainString()); int total = service.revisarTotalTransferencias(1L); assertEquals(0,total); verify(cuentaRepository,times(3)).findById(1L); verify(cuentaRepository,times(2)).findById(2L); verify(cuentaRepository,never()).update(any(Cuenta.class)); verify(bancoRepository,times(1)).findById(1L); verify(bancoRepository,never()).update(any(Banco.class)); } }

Questions about programming?Chat with your personal AI assistant