- 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
50 lines
1.2 KiB
YAML
50 lines
1.2 KiB
YAML
# 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
|