Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Rubén Ramírez
/
MangAffinity
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
e403fa55
authored
Feb 23, 2025
by
Rubén Ramírez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
feat: [ServicioRecurso]:Implementada la función con su test de modificar recurso en el servicio
parent
dc607392
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
65 additions
and
0 deletions
src/main/java/com/ujaen/tfg/mangaffinity/servicios/ServicioRecursos.java
src/test/java/com/ujaen/tfg/mangaffinity/servicios/TestServicioRecursos.java
src/main/java/com/ujaen/tfg/mangaffinity/servicios/ServicioRecursos.java
View file @
e403fa55
...
...
@@ -3,6 +3,7 @@ package com.ujaen.tfg.mangaffinity.servicios;
import
com.ujaen.tfg.mangaffinity.entidades.Genero
;
import
com.ujaen.tfg.mangaffinity.entidades.Recurso
;
import
com.ujaen.tfg.mangaffinity.excepciones.RecursoNoExiste
;
import
com.ujaen.tfg.mangaffinity.repositorios.RepositorioRecurso
;
import
com.ujaen.tfg.mangaffinity.util.UtilString
;
import
jakarta.validation.Valid
;
...
...
@@ -56,5 +57,33 @@ public class ServicioRecursos {
return
false
;
}
@Transactional
public
Recurso
modificarRecurso
(
Long
id
,
Recurso
nuevosDatos
)
{
Recurso
recursoExistente
=
repositorioRecurso
.
buscarPorId
(
id
);
if
(
recursoExistente
==
null
)
{
throw
new
RecursoNoExiste
();
}
if
(
nuevosDatos
.
getTitulo
()
!=
null
)
{
recursoExistente
.
setTitulo
(
nuevosDatos
.
getTitulo
());
}
if
(
nuevosDatos
.
getDescripcion
()
!=
null
)
{
recursoExistente
.
setDescripcion
(
nuevosDatos
.
getDescripcion
());
}
if
(
nuevosDatos
.
getFechaPublicacion
()
!=
null
)
{
recursoExistente
.
setFechaPublicacion
(
nuevosDatos
.
getFechaPublicacion
());
}
if
(
nuevosDatos
.
getAutor
()
!=
null
)
{
recursoExistente
.
setAutor
(
nuevosDatos
.
getAutor
());
}
if
(
nuevosDatos
.
getGeneros
()
!=
null
)
{
recursoExistente
.
setGeneros
(
nuevosDatos
.
getGeneros
());
}
return
repositorioRecurso
.
modificarRecurso
(
recursoExistente
);
}
}
src/test/java/com/ujaen/tfg/mangaffinity/servicios/TestServicioRecursos.java
View file @
e403fa55
...
...
@@ -169,7 +169,43 @@ public class TestServicioRecursos {
assertThat
(
recursoBorrado
).
isNull
();
}
@Test
@DirtiesContext
void
testModificarRecurso
()
{
// Crear un recurso inicial
Recurso
recursoOriginal
=
new
Recurso
(
"Título Original"
,
"Descripción Original"
,
LocalDate
.
of
(
2022
,
5
,
10
),
"Autor Original"
);
servicioRecursos
.
crearRecurso
(
recursoOriginal
);
// Buscar el recurso creado para obtener su ID
List
<
Recurso
>
recursos
=
servicioRecursos
.
buscarRecursoPorTitulo
(
"Título Original"
);
assertThat
(
recursos
).
isNotEmpty
();
Recurso
recursoGuardado
=
recursos
.
getFirst
();
Long
recursoId
=
recursoGuardado
.
getId
();
assertThat
(
recursoId
).
isNotNull
();
// Crear un objeto con algunos campos en null (solo modificamos la descripción)
Recurso
nuevosDatos
=
new
Recurso
(
null
,
"Descripción Modificada"
,
null
,
null
);
// Modificar el recurso
Recurso
recursoModificado
=
servicioRecursos
.
modificarRecurso
(
recursoId
,
nuevosDatos
);
// Verificar que los cambios se guardaron correctamente sin sobrescribir campos con null
assertThat
(
recursoModificado
).
isNotNull
();
assertThat
(
recursoModificado
.
getId
()).
isEqualTo
(
recursoId
);
assertThat
(
recursoModificado
.
getTitulo
()).
isEqualTo
(
"Título Original"
);
// ✅ No se modificó
assertThat
(
recursoModificado
.
getDescripcion
()).
isEqualTo
(
"Descripción Modificada"
);
// ✅ Se modificó
assertThat
(
recursoModificado
.
getFechaPublicacion
()).
isEqualTo
(
LocalDate
.
of
(
2022
,
5
,
10
));
// ✅ No se modificó
assertThat
(
recursoModificado
.
getAutor
()).
isEqualTo
(
"Autor Original"
);
// ✅ No se modificó
// Verificar que los datos en la BD siguen siendo los correctos
Recurso
recursoFinal
=
servicioRecursos
.
buscarRecursoPorId
(
recursoId
);
assertThat
(
recursoFinal
).
isNotNull
();
assertThat
(
recursoFinal
.
getTitulo
()).
isEqualTo
(
"Título Original"
);
assertThat
(
recursoFinal
.
getDescripcion
()).
isEqualTo
(
"Descripción Modificada"
);
assertThat
(
recursoFinal
.
getFechaPublicacion
()).
isEqualTo
(
LocalDate
.
of
(
2022
,
5
,
10
));
assertThat
(
recursoFinal
.
getAutor
()).
isEqualTo
(
"Autor Original"
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment