Hola que tal, me esta saliendo este error:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'med.voll.api.domain.medico.MedicoRepositoryTest': Unsatisfied dependency expressed through field 'testEntityManager': No qualifying bean of type 'org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
para este código:
package med.voll.api.domain.medico;
import med.voll.api.domain.consulta.Consulta;
import med.voll.api.domain.direccion.DatosDireccion;
import med.voll.api.domain.paciente.DatosRegistroPaciente;
import med.voll.api.domain.paciente.Paciente;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.TemporalAdjusters;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
@SpringBootTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@ActiveProfiles("test")
class MedicoRepositoryTest {
@Autowired
private MedicoRepository medicoRepository;
@Autowired
private TestEntityManager testEntityManager;
@Test
@DisplayName("deberia retornar nulo cuando el medico se encuentra en consulta con otro paciente en ese horario")
void seleccionarMedicoConEspecialidadEnFechaEscenario1() {
var proximoLunes10H = LocalDate.now()
.with(TemporalAdjusters.next(DayOfWeek.MONDAY))
.atTime(10, 0);
var medico = registrarMedico("Jose", "j@gmail.com", "123456", Especialidad.CARDIOLOGIA);
var paciente = registrarPaciente("Antonio", "a@gmail.com", "123457");
registrarConsulta(medico, paciente, proximoLunes10H);
var medicoLibre = medicoRepository.seleccionarMedicoConEspecialidadEnFecha(Especialidad.CARDIOLOGIA, proximoLunes10H);
assertThat(medicoLibre).isNull();
}
private void registrarConsulta(Medico medico, Paciente paciente, LocalDateTime fecha){
testEntityManager.persist(new Consulta(null, medico, paciente, fecha, null));
}
private Medico registrarMedico(String nombre, String email, String documento, Especialidad especialidad){
var medico = new Medico(datosMedico(nombre, email, documento, especialidad));
testEntityManager.persist(medico);
return medico;
}
private Paciente registrarPaciente(String nombre, String email, String documento){
var paciente = new Paciente(datosPaciente(nombre, email, documento));
testEntityManager.persist(paciente);
return paciente;
}
private DatosRegistroMedico datosMedico(String nombre, String email, String documento, Especialidad especialidad) {
return new DatosRegistroMedico(
nombre,
email,
"234234234",
documento,
especialidad,
datosDireccion()
);
}
private DatosRegistroPaciente datosPaciente(String nombre, String email, String documento) {
return new DatosRegistroPaciente(
nombre,
email,
"123123214",
documento,
datosDireccion()
);
}
private DatosDireccion datosDireccion() {
return new DatosDireccion(
"loca",
"azul",
"Gigante",
"321",
"15"
);
}
}
segun veo esta igual al del video con la diferencia que yo estoy utilzando otra base de datos