No meu caso eu dupliquei o teste inicial e só alterei as datas para que uma seja no sabado e a outra no domingo
@Test
void deveriaCriarPagamentoParaVencedorDoLeilaoQuandoForSabado() {
Leilao leilao = leilao();
Lance vencedor = leilao.getLanceVencedor();
LocalDate data = LocalDate.of(2023, 1, 28);
Instant instant = data.atStartOfDay(ZoneId.systemDefault()).toInstant();
Mockito.when(clock.instant()).thenReturn(instant);
Mockito.when(clock.getZone()).thenReturn(ZoneId.systemDefault());
gerador.gerarPagamento(vencedor);
Mockito.verify(pagamentoDao).salvar(captor.capture());
Pagamento pagamento = captor.getValue();
Assert.assertEquals(data.plusDays(2), pagamento.getVencimento());
Assert.assertEquals(vencedor.getValor(), pagamento.getValor());
Assert.assertFalse(pagamento.getPago());
Assert.assertEquals(vencedor.getUsuario(), pagamento.getUsuario());
Assert.assertEquals(leilao, pagamento.getLeilao());
}
@Test
void deveriaCriarPagamentoParaVencedorDoLeilaoQuandoForDomingo() {
Leilao leilao = leilao();
Lance vencedor = leilao.getLanceVencedor();
LocalDate data = LocalDate.of(2023, 1, 29);
Instant instant = data.atStartOfDay(ZoneId.systemDefault()).toInstant();
Mockito.when(clock.instant()).thenReturn(instant);
Mockito.when(clock.getZone()).thenReturn(ZoneId.systemDefault());
gerador.gerarPagamento(vencedor);
Mockito.verify(pagamentoDao).salvar(captor.capture());
Pagamento pagamento = captor.getValue();
Assert.assertEquals(data.plusDays(1), pagamento.getVencimento());
Assert.assertEquals(vencedor.getValor(), pagamento.getValor());
Assert.assertFalse(pagamento.getPago());
Assert.assertEquals(vencedor.getUsuario(), pagamento.getUsuario());
Assert.assertEquals(leilao, pagamento.getLeilao());
}