Modificación UsuarioRepository y ViajeRepository

parent 2241a322
...@@ -61,5 +61,11 @@ public class UsuarioRepository { ...@@ -61,5 +61,11 @@ public class UsuarioRepository {
} }
} }
@CacheEvict(value = "usuarios", key = "#usuario.DNI")
public void actualizar(Usuario u){
em.merge(u);
}
} }
package com.carpooling.carpoolingaoraha.repositorios; package com.carpooling.carpoolingaoraha.repositorios;
import com.carpooling.carpoolingaoraha.entidades.Usuario;
import com.carpooling.carpoolingaoraha.entidades.Viaje; import com.carpooling.carpoolingaoraha.entidades.Viaje;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
public interface ViajeRepository extends JpaRepository<Viaje, Integer> { import java.util.Optional;
Viaje findByIdViaje(Integer iD);
@Repository
@Transactional(propagation = Propagation.REQUIRED)
public class ViajeRepository{
@PersistenceContext
EntityManager em;
@Cacheable("viajes")
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
public Optional<Viaje> buscar(String idReserva){
return Optional.ofNullable(em.find(Viaje.class, idReserva));
}
@CacheEvict(value = "viajes", key = "#viaje.idViaje")
public void guardar(Viaje viaje){
em.persist(viaje);
}
@CacheEvict(value = "viajes", key = "#viaje.DNI")
public void actualizar(Viaje u){
em.merge(u);
}
} }
...@@ -11,6 +11,8 @@ import org.springframework.test.context.junit4.SpringRunner; ...@@ -11,6 +11,8 @@ import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Optional;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotNull;
...@@ -29,26 +31,14 @@ public class UsuarioRepositoryTest { ...@@ -29,26 +31,14 @@ public class UsuarioRepositoryTest {
usuario.setNombre("Fran"); usuario.setNombre("Fran");
usuario.setDNI("45678900E"); usuario.setDNI("45678900E");
repositorio.save(usuario); repositorio.guardar(usuario);
Optional<Usuario> usuarioGuardado = repositorio.buscar("45678900E");
Usuario usuarioGuardado = repositorio.findByDNI("45678900E");
Assert.assertNotNull(usuarioGuardado); Assert.assertNotNull(usuarioGuardado);
Assert.assertEquals("Fran",usuarioGuardado.getNombre()); Assert.assertEquals("Fran", usuarioGuardado.get().getNombre());
Assert.assertEquals("45678900E",usuarioGuardado.getDNI()); Assert.assertEquals("45678900E", usuarioGuardado.get().getDNI());
} }
@Test
public void testDeleteUsuario(){
Usuario usuario = new Usuario();
usuario.setNombre("Fran");
usuario.setDNI("45678900E");
repositorio.save(usuario);
repositorio.deleteByDNI("45678900E");
Usuario usuario1Borrado = repositorio.findByDNI("45678900E");
Assert.assertNull(usuario1Borrado);
}
} }
package com.carpooling.carpoolingaoraha.repositorios; package com.carpooling.carpoolingaoraha.repositorios;
import com.carpooling.carpoolingaoraha.entidades.Usuario;
import com.carpooling.carpoolingaoraha.entidades.Viaje; import com.carpooling.carpoolingaoraha.entidades.Viaje;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
...@@ -11,6 +12,8 @@ import org.springframework.test.context.junit4.SpringRunner; ...@@ -11,6 +12,8 @@ import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Optional;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@DataJpaTest @DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
...@@ -26,11 +29,11 @@ public class ViajeRepositoryTest { ...@@ -26,11 +29,11 @@ public class ViajeRepositoryTest {
int idViaje = 1; int idViaje = 1;
viaje.setIdViaje(idViaje); viaje.setIdViaje(idViaje);
repository.save(viaje); repository.guardar(viaje);
Viaje viajeGuardado = repository.findByIdViaje(idViaje); Optional<Viaje> viajeGuardado = repository.buscar(String.valueOf(idViaje));
Assert.assertNotNull(viajeGuardado); Assert.assertNotNull(viajeGuardado);
Assert.assertEquals(idViaje, viajeGuardado.getIdViaje()); Assert.assertEquals(idViaje, viajeGuardado.get().getIdViaje());
Assert.assertEquals("Canarias", viajeGuardado.getDestino()); Assert.assertEquals("Canarias", viajeGuardado.get().getDestino());
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment