SprilurTest Part Pública

Locale invàlid retorna 404

Editar
/

Test validat correctament

L'script s'ha executat i ha passat després de 0 iteracions de refinament.

La IA ajustarà l'script segons el teu feedback i el validarà automàticament.

Prompt

## PUB-02 Locale invàlid retorna 404 Type: ui Scope: task Depth: focused Area: frontend Category: error handling Entry point: /fr Verify in: page (codi HTTP 404) Navega a `/fr` (locale no suportat; només s'accepten `es` i `eu`) i comprova que la resposta és un 404.

Pla de Test 2 pag · 7 passos · 0 validacions

Pàgines a visitar

/ Pàgina principal per fer login
/fr Locale no suportat per verificar error 404

Passos del test

Historial de validació 1 iteracions

#? FAIL

Passos del Test 4 steps

1

Navega a la pàgina principal

stable (3x)
step3630-navega-a-la-p-gina-principal

step3630 navega a la p gina principal

1. navigate Navega a la pàgina principal
2

Omple credencials i fes login

stable (3x)
step3631-omple-credencials-i-fes-login

step3631 omple credencials i fes login

2. fill Omple el camp d'email amb admin@sprilur.test input[type="email"]
3. fill Omple el camp de contrasenya amb password input[type="password"]
4. click Clica el botó de login button[type="submit"]
Generació inicial FAIL
#1 FAIL pas 2 · refine
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
locator.pressSequentially: Timeout 30000ms exceeded. Call log: - waiting for locator('input[type="email"]') [veure tot] locator.pressSequentially: Timeout 30000ms exceeded. Call log: - waiting for locator('input[type="email"]')
#2 FAIL pas 2 · refine
El selector coincideix amb més d'un element — cal afinar-lo perquè sigui únic.
locator.pressSequentially: Error: strict mode violation: locator('input[type="email"]') resolved to 2 elements: 1) <... [veure tot] locator.pressSequentially: Error: strict mode violation: locator('input[type="email"]') resolved to 2 elements: 1) <input value="" required="" name="email" type="email" autofocus="" id="login-email" autocomplete="email" class="h-12 w-full border border-zinc-300 bg-zinc-200 px-4 text-zinc-700 focus:border-zinc-500 focus:outline-none"/> aka locator('#login-email') 2) <input value="" required="" name="email" type="email" id="register-email" autocomplete="email" class="h-12 w-full border border-zinc-300 bg-zinc-200 px-4 text-zinc-700 focus:border-zinc-500 focus:outline-none"/> aka locator('#register-email') Call log: - waiting for locator('input[type="email"]')
3

Navega a /fr (locale no suportat)

Navega a la URL /fr per provar un locale no suportat i verifica que la URL conté /fr

stable (3x)
step3632-navega-a-fr-locale-no-suportat

step3632 navega a fr locale no suportat

5. navigate Navega a /fr (locale no suportat)
4

Captura error 404 i comprova missatge

Captura una pantalla de la pàgina d'error 404 i verifica que el cos de la pàgina conté el text '404'

stable (3x)
step3633-error-404

step3633 error 404

6. screenshot Captura de pantalla de la pàgina d'error 404
7. validate Comprova que la pàgina mostra un error 404

Codi Playwright tots els passos · // @lock / // @unlock per protegir línies

Desat ✓ Edita directament · usa // @lock i // @unlock en línies separades per bloquejar una secció

Resum d'execució

Test estable · tots els passos correctes

Generant resum de l'execució…

Detalls

Estat
active
Generació
stable
Validació
stable
Tipus
Playwright
Creat
03/06/2026 08:26
Descripció
Comprova que navegar a /fr (locale no suportat) retorna un error HTTP 404

Tags

Tots els tags afegits

Cap tag assignat

Instruccions IA

Projecte

- **Locale coverage:** every public page and every key flow must be exercised in **both `/es` and `/eu`**; additionally verify the `/locale/{eu}` switch redirects back and persists in session. - **Default test account:** `admin@sprilur.test` / `password` (is_admin, verified, no 2FA) — use for `/admin` and authenticated frontend flows. For permission tests, use a **non-admin verified** user. - **Data conventions:** suffix any created test data (project `title`, document name, etc.) with a unique `uid` (timestamp/run id) to avoid collisions across runs. - **Mandatory assertions:** every form submission must assert the success outcome (redirect/toast) **and** the absence of validation errors; every navigation must assert the resulting **URL including its locale prefix**. - **Scope/priority:** auth + private project flows (login, create, evaluate, export) are **regression-critical** and get happy-path + key edge cases; public/buscador flows get happy path plus the "no guide type / no results / URL hydration" edges; backoffice gets representative CRUD smoke tests. - **Known seeded data to rely on:** - Guide types: **Urbanización** (`urbanization`), **Edificación** (`building`). - Typologies (urbanization): Residencial, Industrial, Terciario, Logístico, Equipamiento público, Mixto. (building): Edificio industrial, Edificio terciario. - Scopes (ámbito): **Proyecto**, **Obra**. - Chapters: GEN General, TRA Trabajos previos, PRE, VIA, AGU Agua, EST, ENE Energía, ZON, RES Residuos, EJE, MAN; (building) EDI Diseño del edificio, ENV. - Agents: Promotor, Proyectista, Constructor, Dirección facultativa, Administración pública, Empresa de mantenimiento. - Stages (Etapa): Planeamiento, Proyecto, Ejecución, Uso y mantenimiento, Fin de vida. - **Exports:** for PDF/CSV, assert the response/download headers (and CSV `;`/`,` formatting), not the binary contents.

Features Desat!

KPIs

Taxa d'èxit
100%
1r intent OK
0%
Iteracions totals
12
Temps total
72s
→ Validaci&oacute;
72s
Cost total
$0.1575
Tokens totals
15,928
Crides API
9
→ Cost/pas
$0.00c

Cost IA

Total
$0.1575
Generació
$0.1575
Execucions
$0.00c
Tokens totals
15,928
Crides API
9