1
resposta

[Bug] Erro validador existsByMedicoIdAndDataAndMotivoCancelamentoIsNull()

estou a ter um erro nesta jpa já fiz o teste e mesmo assim não retourn o valor que estou a espera teste abaixo

@Test
void   existsByMedicoIdAndDataAndMotivoCancelamentoIsNull(){
  
  var proximaSegundaAs10 = LocalDate.now()
           
          .with(TemporalAdjusters.next(DayOfWeek.MONDAY))
     
     .atTime(10, 0);

    var medico = cadastrarMedico("Medico", "medico@voll.med", "123456", Especialidade.CARDIOLOGIA);
    var paciente = cadastrarPaciente("Paciente", "paciente@email.com", "00000000000");
    cadastrarConsulta(medico, paciente, proximaSegundaAs10);

    long medico_id = medico.getId();

    Long pacienteId = paciente.getId();
    LocalDateTime primeiroHorario = LocalDateTime.of(2024, 10, 26, 7, 0);
    LocalDateTime ultimaHora = LocalDateTime.of(2024, 10, 26, 18, 59, 59);



    boolean existe = consultaRepository.existsByMedicoIdAndDataAndMotivoCancelamentoIsNull(medico_id,  proximaSegundaAs10);
    assertFalse(existe); // Espera-se que não exista consulta, então deve retornar false
    System.out.println(existe);

}

resposta: org.opentest4j.AssertionFailedError: Expected :false Actual :true

1 resposta

Olá Wesley!

Na realidade esse teste deve retornar true mesmo.

Você cadastrou uma consulta para o médico na próxima segunda as 10h e está disparando uma busca no repository para verificar se existe consulta para o mesmo médico na próxima segunda às 10h, então o método vai devolver true, indicando que achou o id do médico na tabela de consultas para a data informada.