Klickar du på knappen körs realtidskontroller direkt i din webbläsare mot produktionsmiljön (API-latens, IndexedDB, Service Worker-cache och lokal lagring).
| Krav-ID | Kravtitel | Beskrivning & Verksamhetssyfte | Automatiserade Testfall | Status |
|---|---|---|---|---|
| REQ-MAP-001 | Kartvisning, Lagerkontroller & Waymarked Trails Karta · Core |
Leder och kartlager renderas interaktivt med Leaflet (Topo, Satellit, Waymarked Trails). | py:destpy:overlays e2e:trail_display | 🟢 Godkänd |
| REQ-MAP-002 | Trailhead-nålar, Ledlinjer & Kartpopup Karta · Core |
Start- och målmarkörer samt färgkodade ledlinjer ritas ut korrekt med [lat, lon]-orientering. | py:destpy:gpx e2e:trail_display | 🟢 Godkänd |
| REQ-MAP-003 | Intressepunkter (POI) & Bergstoppar Karta · Core |
Berömda toppar, bergspass och vattenkällor markeras och filtreras på kartan. | py:pois e2e:trail_display | 🟢 Godkänd |
| REQ-MAP-004 | Mina Platser (Personal Places) Karta · Normal |
Användarspecifika favoritpunkter och egna anteckningar isolerade per inloggad användare. | py:storagepy:auth | 🟢 Godkänd |
| REQ-ROUT-001 | Ledsökning, Chip-navigering & Filtrering Rutter · Core |
Bläddra bland destinationens leder via horisontella chips, sök efter namn och filtrera på distans/höjdmeter. | py:bundlepy:dest e2e:trail_display | 🟢 Godkänd |
| REQ-ROUT-002 | Ruttkort & Teknisk Sammanfattning Rutter · Core |
Aktivt ruttkort presenterar distans, D+, maxhöjd, beräknad löpartid och teknisk svårighet. | py:analyticspy:bundle e2e:trail_display | 🟢 Godkänd |
| REQ-ROUT-003 | Bokmärken och Favorithantering Rutter · Normal |
Spara leder som favoriter med stjärnmarkering och snabbfiltrering via 'Favs'-knappen. | py:storage | 🟢 Godkänd |
| REQ-ROUT-004 | Permanent Radering av Leder för Admin Rutter · Core |
Administratörer kan permanent ta bort både fördefinierade och anpassade rutter så att de inte återuppstår. | py:storagepy:bundle e2e:admin_delete_refresh | 🟢 Godkänd |
| REQ-ROUT-005 | Dubblettkontroll vid Ruttimport Rutter · Core |
Förhindrar att identiska rutter importeras flera gånger baserat på rumslig hash och namn. | py:gpxpy:storage e2e:gpx_import | 🟢 Godkänd |
| REQ-ROUT-006 | Flervalsläge & Samtidig Ledjämförelse Rutter · Core |
Välj och visualisera flera leder samtidigt på kartan med överlappande höjdkurvor. | py:bundlepy:analytics | 🟢 Godkänd |
| REQ-ROUT-007 | Ruttvändning & Omvänd Navigering (Start ⇄ Mål) Rutter · Core |
Vänd ledens riktning så att start blir mål och mål blir start, invertera banprofilen samt exportera omvänd GPX-navigeringsfil. | py:gpxpy:bundle e2e:route_reverse | 🟢 Godkänd |
| REQ-ELEV-001 | Interaktiv Höjdprofil med Scrubbing Höjdprofil · Core |
Responsiv SVG-höjdprofil som synkroniserar markörposition på kartan vid hovring och touch-scrubbing. | py:analyticspy:bundle e2e:trail_display | 🟢 Godkänd |
| REQ-ELEV-002 | Lutningsgradienter & Färgkodning (Grade %) Höjdprofil · Core |
Färgkodar bansegment efter branthet (<5% grön, 5-15% gul, 15-25% röd, >25% lila). | py:analytics e2e:trail_display | 🟢 Godkänd |
| REQ-ELEV-003 | Ytunderlag, Teknisk Svårighetsgrad & Tobler GAP Höjdprofil · Core |
Klassificerar vertikal densitet (m/km) och estimerar löpartid med Tobler's Hiking Function. | py:analytics | 🟢 Godkänd |
| REQ-EXPORT-001 | Klockoptimerad GPX-export med Course Points Export & Import · Core |
Genererar GPX 1.1 med korrekt 3D-data, banpunkter och svänghänvisningar för Garmin/Suunto/Coros. | py:gpxpy:bundlepy:security | 🟢 Godkänd |
| REQ-EXPORT-002 | PDF Guideboks-export med Ledöversikt Export & Import · Normal |
Genererar flersidig PDF med rutt-tabeller, höjdkurvor och QR-kod för offlineanvändning. | py:pdf | 🟢 Godkänd |
| REQ-EXPORT-003 | GPX Drag & Drop Importering & DEM-berikning Export & Import · Core |
Ladda upp GPX-filer direkt i webbläsaren, berika med DEM-höjder och spara permanent. | py:gpxpy:bundle e2e:gpx_import | 🟢 Godkänd |
| REQ-STORAGE-001 | Hybrid Persistens (LocalStorage + IndexedDB) Lagring · Core |
Multi-megabyte GPX-filer och högupplösta koordinater sparas säkert i IndexedDB med fallback. | py:storagepy:bundle e2e:gpx_import | 🟢 Godkänd |
| REQ-STORAGE-002 | Destinationshantering & Anpassade Regioner Lagring · Core |
Skapa egna destinationer/städer, växla mellan regioner och bevara alla inställningar. | py:destpy:storage e2e:trail_display | 🟢 Godkänd |
| REQ-STORAGE-003 | Arkivering och Återställning av Leder Lagring · Core |
Arkivera avklarade leder utan att förlora GPS-koordinater och återställ vid behov. | py:storage | 🟢 Godkänd |
| REQ-TRANSIT-001 | Multimodal Reseplanerare (Tåg, Bil, Gång) Transit · Core |
Beräknar restid och rutter från centrum till trailheads med OSRM och regionala tåglinjer. | py:transit | 🟢 Godkänd |
| REQ-TRANSIT-002 | Flyttbar Startpunkt & Geokodning / Adressök Transit · Core |
Sök adresser i staden via Nominatim med debounce och dra startpunktsnålen fritt. | py:transitpy:security | 🟢 Godkänd |
| REQ-AUTH-001 | Användarautentisering, Sessioner & Demo-löpare Autentisering & Säkerhet · Normal |
Inloggning för kända atleter (Kílian Jornet, Fernanda Maciel), gästläge och lösenordsvalidering. | py:auth | 🟢 Godkänd |
| REQ-AUTH-002 | Rollbaserad Åtkomstkontroll (Gäst / Löpare / Admin) Autentisering & Säkerhet · Core |
Skillnad mellan gäst (lokalt), inloggad löpare (molnsynk) och administratör (permanent radering). | py:authpy:storage e2e:admin_delete_refresh | 🟢 Godkänd |
| REQ-SECURITY-001 | XSS-sanitering & Säker DOM-rendering Autentisering & Säkerhet · Core |
Rensar all användargenererad text och GPX-metadata mot skadliga taggar och injektioner. | py:security | 🟢 Godkänd |
| REQ-PWA-001 | Offline-stöd, Service Worker & Fallback-sida Offline · Normal |
PWA-stöd som cachar kartor, rutter och tillhandahåller offline.html vid bristande nätverk. | py:mobilepy:bundle | 🟢 Godkänd |
| Testsvit | Tester | Tid | Status |
|---|---|---|---|
| GPX Importer & Track Geometry test_gpx.py |
17 | 0.012s | OK |
| Multi-Modal Transit & Corridors test_transit.py |
27 | 0.076s | OK |
| Storage & Memory Persistence test_storage.py |
34 | 0.001s | OK |
| Mountain Landmarks & POIs test_pois.py |
11 | 0.070s | OK |
| City PDF Guidebook Exporter test_pdf.py |
4 | 0.000s | OK |
| Destination Manifest & GeoJSON test_dest.py |
12 | 0.376s | OK |
| User Authentication & Session Layer test_auth.py |
15 | 0.000s | OK |
| JS Bundle Syntactical Integrity & Handlers test_bundle.py |
54 | 0.130s | OK |
| XSS Sanitization & GPX 1.1 Robustness test_security.py |
18 | 0.074s | OK |
| Trail Running Analytics & Elevation Grades test_analytics.py |
15 | 0.034s | OK |
| Mobile Usability & Responsive Layouts test_mobile.py |
8 | 0.003s | OK |
| Regional Overlays & Thematic Map Layers test_overlays.py |
6 | 0.016s | OK |
| Webbläsartest | Miljö | Tid | Status |
|---|---|---|---|
| Admin permanently deletes a route and it stays deleted after page refresh admin_delete_refresh.spec.js |
Chromium Local | 1.23s | OK |
| User imports GPX file, trail appears in chips and persists across reload gpx_import.spec.js |
Chromium Local | 2.03s | OK |
| User can reverse a trail direction, view swapped start/finish and export reversed GPX route_reverse.spec.js |
Chromium Local | 2.00s | OK |
| Status page renders metrics, requirements matrix, and executes browser health check status_page.spec.js |
Chromium Local | 0.41s | OK |
| Barcelona trails render on map and display elevation chart on click trail_display.spec.js |
Chromium Local | 0.80s | OK |
| Switching destination to Chamonix displays routes properly trail_display.spec.js |
Chromium Local | 1.19s | OK |