Skip to main content

Fase 4: Integration Testing

API Contracts

Se auditaron y corrigieron los contratos entre frontend y backend en los siguientes módulos:

Actividades (API → Web/Mobile)

EndpointCapaValidación
GET /api/activitiesAPIPaginación con page/rows, filtro por emoción
GET /api/activities/allWebHistorial paginado de actividades del usuario
POST /api/activities/:id/:userId/submitMobileEnvío de respuestas con tipado correcto
GET /api/activities/user/:userIdMobileConsulta de actividades por usuario

Emociones (API → Web)

EndpointCapaValidación
GET /api/emotionsAPIListado paginado con serial, nombre, descripción
POST /api/emotionsWebCreación con payload alineado al schema MongoDB

Retos y Eventos Personales (API → Mobile)

EndpointCapaValidación
GET /api/activities?type=retoMobileFiltro por tipo para ChallengesDashboard
GET /api/activities?type=evento_personalMobileFiltro por tipo para PersonalEventsDashboard

Feedback (API → Web)

EndpointCapaValidación
GET /api/feedbackWebListado paginado para panel admin
POST /api/feedbackWeb/MobileCreación de feedback con title + description
POST /api/feedback/:id/convert-to-ideaWebConversión feedback → backlog idea

States and Navigation

Web (vibra-web)

  • Sidebar dinámico filtrado por permisos del usuario
  • Sistema de tabs (pestañas) para navegación entre módulos
  • Estados de carga y vacío en tablas (Tests, Participantes, Actividades, Feedback)
  • RefreshKey para recarga controlada de datos

Mobile (vibra-web-mb)

  • Navegación por Tabs (Eventos, Retos, E-Personal, Perfil)
  • Protección de rutas con AuthContext
  • Redirección al login si no hay sesión activa
  • OfflineScreen + OfflineBanner para estados sin conexión

Data Consistency

ComponenteEstrategia
Participantes en sesiónContext API + AsyncStorage (persistencia local)
Actividad diariaReact Query con staleTime configurado
RankingAgregaciones MongoDB con caché 30s
Feedback recién creadoRefresco automático de tabla post-creación