Commit b171837b by Rubén Ramírez

feat: [ServicioUsuario]: creada función auxiliar para obtener la biblioteca de…

feat: [ServicioUsuario]: creada función auxiliar para obtener la biblioteca de un usuario con su test en ServicioUsuarios
parent 498b417e
...@@ -115,7 +115,9 @@ public class ServicioUsuarios { ...@@ -115,7 +115,9 @@ public class ServicioUsuarios {
} }
public BibliotecaPersonal obtenerBibliotecaDeUsuario(Long usuarioId) { public BibliotecaPersonal obtenerBibliotecaDeUsuario(Long usuarioId) {
Usuario usuario = repositorioUsuario.findById(usuarioId); return repositorioUsuario.findById(usuarioId)
return usuario != null ? usuario.getBibliotecaPersonal() : null; .map(Usuario::getBibliotecaPersonal)
.orElse(null);
} }
} }
...@@ -2,14 +2,13 @@ package com.ujaen.tfg.mangaffinity.servicios; ...@@ -2,14 +2,13 @@ package com.ujaen.tfg.mangaffinity.servicios;
import com.ujaen.tfg.mangaffinity.MangAffinityApplication; import com.ujaen.tfg.mangaffinity.MangAffinityApplication;
import com.ujaen.tfg.mangaffinity.config.JpaTestConfig; import com.ujaen.tfg.mangaffinity.config.JpaTestConfig;
import com.ujaen.tfg.mangaffinity.entidades.BibliotecaPersonal;
import com.ujaen.tfg.mangaffinity.entidades.Usuario; import com.ujaen.tfg.mangaffinity.entidades.Usuario;
import com.ujaen.tfg.mangaffinity.excepciones.UsuarioYaRegistrado; import com.ujaen.tfg.mangaffinity.excepciones.UsuarioYaRegistrado;
import com.ujaen.tfg.mangaffinity.rest.DTO.DTOLoginRespuesta; import com.ujaen.tfg.mangaffinity.rest.DTO.DTOLoginRespuesta;
import com.ujaen.tfg.mangaffinity.seguridad.JwtUtil; import com.ujaen.tfg.mangaffinity.seguridad.JwtUtil;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.annotation.DirtiesContext;
...@@ -67,4 +66,26 @@ public class TestServicioUsuarios { ...@@ -67,4 +66,26 @@ public class TestServicioUsuarios {
Claims claims = jwtUtil.decodeJWT(respuestaValida.getToken()); Claims claims = jwtUtil.decodeJWT(respuestaValida.getToken());
assertThat(claims.get("rol")).isEqualTo("USUARIO_REGISTRADO"); assertThat(claims.get("rol")).isEqualTo("USUARIO_REGISTRADO");
} }
@Test
@DirtiesContext
void testObtenerBibliotecaDeUsuario() {
// Creo un usuario
Usuario usuario = new Usuario("biblioteca@test.com", "UsuarioBiblioteca", "password123");
servicioUsuarios.crearUsuario(usuario);
// Busco el usuario por email para obtener su ID
Usuario usuarioGuardado = servicioUsuarios.buscaUsuario("biblioteca@test.com");
assertThat(usuarioGuardado).isNotNull();
assertThat(usuarioGuardado.getId()).isNotNull();
// Obtengo la biblioteca del usuario
BibliotecaPersonal biblioteca = servicioUsuarios.obtenerBibliotecaDeUsuario(usuarioGuardado.getId());
// Verifico que la biblioteca personal existe y pertenece al usuario
assertThat(biblioteca).isNotNull();
assertThat(biblioteca.getUsuario().getId()).isEqualTo(usuarioGuardado.getId());
}
} }
\ No newline at end of file
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