Refactor: Limpieza de Carrera, Mappers, Seguridad y 100% de cobertura en Unit Tests
Qué se hizo
-
Seguridad Dinámica: Se movieron las anotaciones
@PreAuthorize("hasAuthority(...)")desde elCarreraControllerhacia elCarreraService, cumpliendo la regla de autorizaciones en la capa de negocio. -
Endpoints Completados y Limpieza: Se agregó el endpoint faltante
GET /api/carreraspara listar todas las carreras (que ahora trae sus ITRs activos anidados). Además, elCarreraControllerquedó puramente delegativo y se ajustaron rutas (comoPATCH /{id}/reactivarsin body). -
MapStruct Personalizado: Se implementó
CarreraMapper.javacon mapeo manual estricto para filtrar únicamente las asociaciones activas de ITR. -
Validaciones DTO: Se agregaron mensajes de error descriptivos en
CarreraRequestDTOgarantizando validaciones idénticas a los constraints de la base de datos (Ej: VARCHAR 80 y NOT NULL). -
Cobertura de Tests (100%): Se creó
CarreraServiceTestusando JUnit 5 y Mockito para cubrir todos los escenarios felices y de error en Carrera. -
Estandarización de Pruebas: Se implementó
@DisplayNameen todas las clases de prueba (Auditoria,Rol,Permisos,Categorias) mejorando drásticamente la legibilidad de la consola.