Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Possível solução para o desafio proposto

Segue codigo abaixo para analise. @Test void ValidarCriacaoPagementoParaVencedorDoLeilaoSextaFeira() { Leilao leilao = leilao(); Lance vencedor = leilao.getLanceVencedor();

    LocalDate data = LocalDate.of(2021, 11, 29);
    LocalDate sextaFeira = data.with(TemporalAdjusters.next(DayOfWeek.FRIDAY));
    Instant instant = sextaFeira.atStartOfDay(ZoneId.systemDefault()).toInstant();    

    Mockito.when(clock.instant()).thenReturn(instant);
    Mockito.when(clock.getZone()).thenReturn(ZoneId.systemDefault());
    geradorPgto.gerarPagamento(vencedor);


    Mockito.verify(pagamentoDao).salvar(captor.capture());

    Pagamento pagamento = captor.getValue();

    Assert.assertEquals(LocalDate.now(clock).plusDays(3), pagamento.getVencimento());
    Assert.assertEquals(vencedor.getValor(), pagamento.getValor());
    Assert.assertFalse(pagamento.getPago());
    Assert.assertEquals(vencedor.getUsuario(), pagamento.getUsuario());
    Assert.assertEquals(leilao, pagamento.getLeilao());
}
1 resposta
solução!

Oi Leandro,

Seu teste está certinho! Vai verificra corretamente se as informações do pagamento estão de acordo com os dados do vencedor do leilão.

Parabéns e bons estudos!