GreenITESO · Evidencia QA

Estado actual, probado y registrado.

Recorrido local del código integrado, con datos sintéticos. Cada resultado enlaza su evidencia para que el equipo pueda comprobarlo y repetirlo después de una corrección.

21 aprobadas8 fallidas1 sin implementar1 sin ejecutar

Snapshot del 1 de octubre de 2026, hora de México. Backend b77f5ec · Frontend 1f3fae1 · Infra 30825da. Estas cifras describen 31 casos de este recorrido; no son un porcentaje de calidad global.

Video para clase

Descargar MP4 · Leer el guion · Subtítulos SRT

Resultados verificables

PASS: respondió y produjo el efecto esperado en el caso probado. FAIL: no cumplió ese escenario. NOT IMPLEMENTED: pieza todavía explícitamente pendiente. NOT RUN: no ejecutado en este entorno.

31 casos
CasoPrueba y evidenciaEstadoResultado observado
QA01Compilación de producción del frontend

Build

FAILCódigo 2: cuatro errores TypeScript relacionados con FeedPost/Post/ACTION_LOG
QA02ACatálogo sin sesión

API + PostgreSQL

PASSHTTP 401
QA03Catálogo UI con backend real

UI → API

PASSBicicleta 10, limpieza 20, termo 5; validación y factores visibles
QA04Registro UI persiste una acción

UI → API → PostgreSQL

FAILVista previa; 0 POST action-logs y 0 registros nuevos
QA05AAcción sin fotografía acredita puntos

API + PostgreSQL

PASSHTTP 201
QA05BReintento idempotente de acción

API + PostgreSQL

FAILHTTP 500
QA06AReferencia PHOTO queda pendiente sin acreditar

API + PostgreSQL

PASSHTTP 201
QA06BEstudiante no puede auditar

API + PostgreSQL

PASSHTTP 403
QA06CBandeja UI de auditoría carga pendientes

UI → API

FAILGET de pendientes → HTTP 405
QA06DAdministrador aprueba PHOTO por API

API + PostgreSQL

PASSHTTP 200
QA06ERevocación revierte puntos y misión

API + PostgreSQL

PASSHTTP 200
QA07AProgreso de misión derivado de acción aprobada

API + PostgreSQL

PASSHTTP 200
QA07BInscripción a campaña desde UI

UI → API → PostgreSQL

PASS2 participaciones totales; inició con 1
QA08ARanking de usuarios

API + PostgreSQL

PASSHTTP 200
QA08BRanking de equipos disponible en UI

UI → API

FAILGET de ranking de clanes → HTTP 404
QA09ACrear publicación propia en feed

API + PostgreSQL

PASSHTTP 201
QA09BOtro usuario no edita publicación ajena

API + PostgreSQL

PASSHTTP 403
QA09CAutor edita publicación por API

API + PostgreSQL

PASSHTTP 200
QA09DAutor dispone de controles de edición en UI

UI ownership

FAILIdentificador fijo en UI no coincide con Ana; publicación propia sin controles
QA10AEvento de insignia persistido y consultable

API + PostgreSQL

PASSHTTP 200
QA10BUI refleja notificaciones reales

UI → API

FAILLista de ejemplo; 0 solicitudes a API de notificaciones
QA11APerfil editable por propietario

API + PostgreSQL

PASSHTTP 200
QA11BConsulta del perfil e impacto aprobado

API + PostgreSQL

PASSHTTP 200
QA11CLímite de un liderazgo privado por usuario

API + PostgreSQL

PASSHTTP 400
QA12AAdministrador modifica catálogo y persiste

API + PostgreSQL

FAILHTTP 200, pero el nombre sigue Rellené mi termo; no persiste el cambio solicitado
QA02BEstudiante no accede a pantalla administrativa

UI role guard

PASSAcceso Restringido; se mostró Error 403 · Prohibido
QA11DCrear clan privado con usuario elegible

API + PostgreSQL

PASSHTTP 201
QA11ENo propietario no elimina clan privado

API + PostgreSQL

PASSHTTP 403
QA11FPropietario elimina clan mediante borrado lógico

API + PostgreSQL

PASSHTTP 204
QA10CPerfil muestra insignias ganadas

Integración de dominios

NOT IMPLEMENTEDUserBadge existe y la notificación se genera; profile/me devuelve badges: [] como placeholder
QA13Despliegue real / infraestructura compartida

Cloud

NOT RUNLa grabación es local; no se aplicó Terraform ni se modificó Neon

Próximo avance propuesto

  1. Recuperar la compilación de producción del frontend.
  2. Conectar el registro y la bandeja de auditoría con la API real.
  3. Reconciliar las propuestas de idempotencia y límite diario con sus dependencias; repetir los casos sobre el código final.
  4. Integrar identidad del feed y notificaciones persistidas; repetir con dos usuarios y recarga.
  5. Terminar CRUD del catálogo, ranking de clanes e insignias del perfil.

Son propuestas para consultar y coordinar con el equipo. Este paquete no publica mensajes, crea tareas ni despliega cambios.

Clips de cada escenario

Capturas originales de UI y consola QA. La consola muestra respuestas registradas de llamadas reales; es material de evidencia, no una pantalla del producto.

01 catalogo · clip original02 registro preview · clip original03 auditoria ui · clip original04 campanas · clip original05 ranking · clip original06 feed · clip original07 notificaciones · clip original08 control acceso · clip original09 api real · clip original10 clanes api · clip original

Alcance y reproducción

Versiones, entorno y límites
Backend dev b77f5ec34c6c72b2fceb1be84d21ae9388cbc54b
Frontend dev 1f3fae1faefba90593dae853cd2406307506faae
Infra main 30825daaae38eb9777247248dca50e72907ebfbc

Django real y PostgreSQL 18 independientes. Vite usa un proxy local externo para conectar /api. Las sesiones JWT son fixtures locales: no validan login Microsoft Entra. PHOTO usa una referencia sintética: no valida carga GCS. No se probaron concurrencia, tiempo real ni despliegue compartido.

Evidencia del agente de base de datos

Ensayo independiente 38 → 59 migraciones, preservación de datos y fallo/reintento de misión duplicada. Su propia versión consta en la procedencia. Informe del ensayo · Resultado original · Procedencia

Se reutiliza el ensayo del otro agente. No se repitió ni se modificó su entorno. No demuestra que Neon ni producción estén actualizados.