Segui o passo a passo do exemplo da aula 3 "Testando o INSERT e UPDATE" mas está dando o seguinte erro: "The constructor LeilaoDao(EntityManager) is undefined".
OBS: Tentei criar um construtor na classe LeilaoDao.java que aparentemente resolve o problema, mas aí quando executo dá outro erro: java.lang.NullPointerException
Segue abaixo o código para análise e caso alguém saiba o que está ocasionando o erro por favor me avise. Se o instrutor puder verificar também agradeço.
class LeilaoDaoTest {
private LeilaoDao dao;
private EntityManager em;
@BeforeEach
public void beforeEach() {
this.em = JPAUtil.getEntityManager();
this.dao = new LeilaoDao(em);
em.getTransaction().begin();
}
@AfterEach
public void afterEach() {
em.getTransaction().rollback();
}
@Test
void deveriaCadastrarLeilao() {
Usuario usuario = criarUsuario();
Leilao leilao = new Leilao("Mochila", new BigDecimal("70"), LocalDate.now(), usuario);
leilao = dao.salvar(leilao);
Leilao salvo = dao.buscarPorId(leilao.getId());
Assert.assertNotNull(salvo);
}
@Test
void deveriaAtualizarLeilao() {
Usuario usuario = criarUsuario();
Leilao leilao = new Leilao("Mochila", new BigDecimal("70"), LocalDate.now(), usuario);
leilao = dao.salvar(leilao);
leilao.setNome("Celular");
leilao.setValorInicial(new BigDecimal("400"));
leilao = dao.salvar(leilao);
Leilao salvo = dao.buscarPorId(leilao.getId());
Assert.assertEquals("Celular", salvo.getNome());
Assert.assertEquals(new BigDecimal("400"), salvo.getValorInicial());
}
private Usuario criarUsuario() {
// instancia o usuario
Usuario usuario = new Usuario("fulano", "fulano@email.com", "12345678");
em.persist(usuario);
return usuario;
}
}