feat(propuesta): pasarela paso a paso con autodetección de ubicación y FAB
deploy-branch / deploy (push) Failing after 6s
deploy-branch / teardown (push) Skipped

- Campo universal de ubicación (Google Maps/Waze/OSM/coordenadas/dirección)
  sobre proveedores extensibles (src/utils/ubicacion) con resolver e inferencia
  inversa Nominatim (nombre/provincia pre-rellenados, alias cooficiales)
- FAB flotante abajo a la derecha que abre la pasarela en un modal accesible
  (Escape, foco contenido, responsive); sin descripción ni puntuación;
  avisos de duplicado y filtro de palabras dentro del modal
- Aviso PWA reposicionado: tarjeta abajo a la izquierda en móvil,
  botón compacto arriba a la izquierda en PC (no tapa el FAB)
- Suite de pruebas: 88 unitarias/componente (vitest + RTL, offline) y
  10 de integración (supertest + SQLite :memory: y Nominatim real opt-in)
- CI: workflow de Gitea Actions con npm test + build en push/PR e
  integración manual
This commit is contained in:
2026-08-16 01:35:02 +02:00
parent d48b74cbd4
commit 003b1e209f
53 changed files with 4896 additions and 253 deletions
+49
View File
@@ -0,0 +1,49 @@
# CI: ejecuta la suite rápida de pruebas (offline) y el build en cada push y PR.
# La suite de integración con Nominatim (red real) es opt-in: se lanza a mano
# desde la pestaña Actions del repositorio, y un fallo de red no rompe el CI.
name: tests
on:
push:
pull_request:
workflow_dispatch:
jobs:
test:
name: Unitarias + componente + build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- name: Instalar dependencias
run: npm ci
- name: Pruebas unitarias y de componente (offline)
run: npm test
- name: Build de producción
run: npm run build
integracion:
name: Integración (Nominatim real, opt-in)
runs-on: ubuntu-latest
if: github.event_name == 'workflow_dispatch'
continue-on-error: true # depende de un servicio externo: informativa
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- name: Instalar dependencias
run: npm ci
- name: Pruebas de integración (API en memoria + Nominatim)
run: npm run test:integration