test(e2e): afinar el diagnóstico del mapa gris — no es DefMapLayers
All checks were successful
build-image / test (push) Successful in 2m10s
build-image / build (push) Successful in 10m57s

/zones y /fires usan el mismo componente con las mismas props y en staging uno
pinta 18 teselas y el otro cero, con el mapa inicializado y con vista en ambos.
Hay que mirar cómo FiresMap monta los hijos del MapContainer, no el componente
de capas. Y el detalle de fuego pide `satellite`, una capa de Google que ni
existe hasta que se resuelve la clave.

Además el script de QA deja de usar selectores por id: TestUtils.testId()
devuelve el id SOLO en desarrollo, así que en staging y producción no existen —
cualquier prueba de navegador escrita con ids pasa en local y falla en staging.
This commit is contained in:
vjrj 2026-08-02 14:50:39 +02:00
parent 1153556f47
commit b0ca838788
2 changed files with 82 additions and 37 deletions

View file

@ -22,10 +22,19 @@ import { waitForMap } from '../support/app.js';
// funcionaban— se quedan también sin teselas, porque entonces el control
// aparece después de que el mapa ya esté montado. Probado en staging,
// revertido: no basta con mover el momento del montaje.
// 5. Y el culpable NO es DefMapLayers: /zones (SubscriptionsMap) y /fires
// (FiresMap) usan el MISMO componente con las MISMAS props
// (`<DefMapLayers gray />`), y en staging /zones pinta 18 teselas con su
// capa en el pane mientras /fires se queda con CERO capas. En los dos casos
// el mapa está inicializado y con vista (el `.leaflet-proxy` está ahí y el
// pane tiene su transform): lo que falta en /fires es que se le añada la
// capa base.
//
// El arreglo bueno pasa por que el conjunto de capas base esté decidido ANTES de
// montar el mapa (resolver la clave más arriba, o que GoogleMutantLayer sepa no
// hacer nada sin clave).
// O sea que hay que mirar cómo FiresMap monta y re-renderiza los hijos del
// MapContainer (tiene shouldComponentUpdate y un manejo de viewport con
// debounce), no DefMapLayers. La página de detalle de fuego es un caso aparte y
// además pide `satellite`, que es una capa de Google y por tanto ni siquiera
// existe hasta que la clave se resuelve.
//
// Quedan como test.fixme para que salgan como pendientes en cada ejecución en
// vez de desaparecer en una nota. Quitar el .fixme al arreglarlo.