Olá professor,
Estou com uma exception num teste a qual acompanhei neste vídeo do curso.
Realizei a verificação dos Import's atentando-se para capturá-los somente do 5 ou do 4. No entanto sem sucesso. Abaixo segue o código do teste a qual está dando problema.
import br.com.alura.leilao.dao.LeilaoDao;
import br.com.alura.leilao.model.Lance;
import br.com.alura.leilao.model.Leilao;
import br.com.alura.leilao.model.Usuario;
import br.com.alura.leilao.service.FinalizarLeilaoService;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import org.junit.Assert;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.BeforeEach;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
class FinalizarLeilaoServiceTest {
private FinalizarLeilaoService service;
@Mock
private LeilaoDao leilaoDao;
@BeforeEach
public void beforeEach(){
MockitoAnnotations.initMocks(this);
this.service = new FinalizarLeilaoService(leilaoDao);
}
@Test
void deveriaFInalizarUmLeilao(){
List<Leilao> leiloes = leiloes();
Mockito.when(leilaoDao.buscarLeiloesExpirados())
.thenReturn(leiloes);
service.finalizarLeiloesExpirados();
Leilao leilao = leiloes.get(0);
Assert.assertTrue(leilao.isFechado());
Assert.assertEquals(new BigDecimal("900"),
leilao.getLanceVencedor().getValor());
Mockito.verify(leilaoDao).salvar(leilao);
}
private List<Leilao> leiloes() {
List<Leilao> lista = new ArrayList<>();
Leilao leilao = new Leilao("Celular",
new BigDecimal("500"),
new Usuario("Fulano"));
Lance primeiro = new Lance(new Usuario("Beltrano"),
new BigDecimal("600"));
Lance segundo = new Lance(new Usuario("Ciclano"),
new BigDecimal("900"));
leilao.propoe(primeiro);
leilao.propoe(segundo);
lista.add(leilao);
return lista;
}
}
Obrigado