Skip to content

test(e2e): trazar cada spec a su historia funcional y medirlo en CI (TD-012) - #22

Merged
beyondnetPeru merged 1 commit into
mainfrom
test/td012-trazar-historias-e2e
Aug 10, 2026
Merged

test(e2e): trazar cada spec a su historia funcional y medirlo en CI (TD-012)#22
beyondnetPeru merged 1 commit into
mainfrom
test/td012-trazar-historias-e2e

Conversation

@beyondnetPeru

Copy link
Copy Markdown
Contributor

Resuelve TD-012. El tracker declaraba 25 historias «Implemented / usable» y nada lo comprobaba: 84 casos e2e y exactamente uno nombraba una historia.

Tres de esas 25 estaban rotas de verdad el 2026-08-10 — FS-20/FS-13 guardaban false en todo parámetro booleano, FS-05 enviaba undefined como id de usuario — y las tres seguían en verde.

Cómo

Cada spec declara en su primera línea a qué historias responde:

// @story FS-05, FS-24

scripts/verificar-cobertura-historias.mjs deriva la cobertura del código y la contrasta con la tabla del propio tracker. Se descartó un fichero de mapeo aparte: se habría desincronizado igual que todo lo demás que registra el documento de deuda.

Primera medición: 11 de 25

Historias
Cubiertas (11) FS-01, FS-02, FS-03, FS-04, FS-05, FS-13, FS-14, FS-17, FS-20, FS-24, FS-40
Sin ninguna (14) FS-06, FS-07, FS-08, FS-09, FS-10, FS-11, FS-15, FS-16, FS-18, FS-19, FS-21, FS-22, FS-38, FS-39

El mapeo se hizo caso por caso, no por nombre de fichero, y eso importa: profile-panel.spec.ts suena a FS-05 y sus doce casos son todos avatar y drawer. Por nombre le habría acreditado a FS-05 una cobertura que no tiene.

Tres specs no responden a ninguna historia —authorization-ui, navigation, profile-panel— y es legítimo: prueban mecánica de interfaz, no resultados de negocio.

Informe, no puerta

Con 14 de 25 sin cubrir, un gate nacería en rojo — y un gate que nace en rojo se aprende a ignorar.

Sí falla en una condición: que una spec se etiquete con una historia que el tracker no declara usable. Eso es un error de etiqueta, y una prueba que dice cubrir algo no reconocido es peor que no etiquetar nada.

Promoverlo a puerta (--estricto) es decisión para cuando las 14 estén cerradas.

Lo que NO cambia

La brecha de fondo sigue abierta: 14 historias se declaran usables sin nada que las ejercite de extremo a extremo. Lo que cambia es que ese número se mide en cada corrida de CI en vez de suponerse.

Verificación

vitest 1626/1626 · typecheck 0 · build OK · eslint 0 errores

🤖 Generated with Claude Code

…TD-012)

El tracker declaraba 25 historias «Implemented / usable» y nada lo comprobaba: 84 casos
e2e y exactamente uno nombraba una historia. Tres de esas 25 estaban rotas de verdad el
2026-08-10 —FS-20/FS-13 guardaban false en todo parámetro booleano, FS-05 enviaba
undefined como id— y las tres seguían en verde.

Cada spec declara ahora a qué historias responde en su primera línea (`// @story FS-05,
FS-24`) y `verificar-cobertura-historias.mjs` deriva la cobertura DEL CÓDIGO,
contrastándola con la tabla del propio tracker. Se descartó un fichero de mapeo aparte:
se habría desincronizado igual que todo lo demás que registra este documento.

Primera medición: 11 de 25 cubiertas, 14 no.

  Cubiertas   FS-01 02 03 04 05 13 14 17 20 24 40
  Sin ninguna FS-06 07 08 09 10 11 15 16 18 19 21 22 38 39

El mapeo se hizo caso por caso, no por nombre de fichero, y eso importa:
`profile-panel.spec.ts` suena a FS-05 y sus doce casos son todos avatar y drawer. Por
nombre le habría acreditado a FS-05 una cobertura que no tiene. Tres specs no responden
a ninguna historia —authorization-ui, navigation, profile-panel— y es legítimo: prueban
mecánica de interfaz, no resultados de negocio.

Es INFORME, no puerta. Con 14 de 25 sin cubrir, un gate nacería en rojo, y un gate que
nace en rojo se aprende a ignorar. Sí falla en una condición: que una spec se etiquete
con una historia que el tracker no declara usable — eso es un error de etiqueta, y una
prueba que dice cubrir algo no reconocido es peor que no etiquetar. Promoverlo a puerta
(--estricto) es decisión para cuando las 14 estén cerradas.

La brecha de fondo sigue abierta; lo que cambia es que el número se mide en cada corrida
en vez de suponerse.

Verificado: vitest 1626/1626, typecheck 0, build OK, eslint 0 errores.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@beyondnetPeru
beyondnetPeru merged commit 22566bf into main Aug 10, 2026
23 checks passed
@beyondnetPeru
beyondnetPeru deleted the test/td012-trazar-historias-e2e branch August 10, 2026 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant