SprilurTest Part Pública

Filtrar buscador por tipología Residencial

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-12 Buscador: filtrar per tipologia Type: ui Scope: task Depth: flow Area: frontend Category: happy path Entry point: /es/fichas/buscador Navigation: `/es/fichas/buscador` → clicar label "Urbanización" → clicar label "Residencial" Preconditions: tipus de guia Urbanización amb tipologia Residencial i fitxes associades Verify in: secció de resultats del component `CardSearch` Després de seleccionar el tipus de guia Urbanización, clica l'etiqueta de la tipologia "Residencial" (checkbox `sr-only`, `wire:model.live="selectedTypologies"`). Espera el round-trip de Livewire i comprova que els resultats es restringeixen a fitxes de la tipologia Residencial i que la URL incorpora `typologies[]`.

Pla de Test 1 pag · 10 passos · 0 validacions

Pàgines a visitar

/es/fichas/buscador Acceder al buscador de fichas y aplicar filtros

Passos del test

Historial de validació 1 iteracions

#? FAIL

Passos del Test 4 steps

1

Iniciar sesión

stable (4x)
step3648-iniciar-sesi-n

step3648 iniciar sesi n

1. navigate Navegar a la página de login
2. fill Rellenar el campo de email input[type="email"]
3. fill Rellenar el campo de contraseña input[type="password"]
4. click Hacer clic en el botón de login button[type="submit"]
Generació inicial FAIL
#1 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"]')
2

Navegar al buscador de fichas

Navega a la página del buscador de fichas y captura el estado inicial de la interfaz

not_validated (4x)
step3649-buscador-inicial

step3649 buscador inicial

5. navigate Navegar al buscador de fichas
6. screenshot Capturar estado inicial del buscador
3

Filtrar por Urbanización

stable (5x)
step3650-filtrar-por-urbanizaci-n

step3650 filtrar por urbanizaci n

7. click Clicar label "Urbanización" y esperar round-trip de Livewire label:has-text("Urbanización")
Generació inicial FAIL
#2 FAIL pas 7 · refine
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
locator.click: Timeout 30000ms exceeded. Call log: - waiting for locator('label:has-text("Urbanización")').first() [veure tot] locator.click: Timeout 30000ms exceeded. Call log: - waiting for locator('label:has-text("Urbanización")').first()
#3 FAIL text=Urbanización · regenerate
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
locator.click: Timeout 30000ms exceeded. Call log: - waiting for locator('text=Urbanización').first() [veure tot] locator.click: Timeout 30000ms exceeded. Call log: - waiting for locator('text=Urbanización').first()
#4 FAIL pas 7 · regenerate
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
locator.click: Timeout 30000ms exceeded. Call log: - waiting for locator('h2:has-text("Tipologia") ~ div').locator('la... [veure tot] locator.click: Timeout 30000ms exceeded. Call log: - waiting for locator('h2:has-text("Tipologia") ~ div').locator('label:has-text("Urbanización")')
Prova 1 (03/06 13:03) FAIL Vídeo
#F1 FAIL aside · failed
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
locator.click: Timeout 30000ms exceeded. Call log: - waiting for locator('aside').getByText('Urbanización') [veure tot] locator.click: Timeout 30000ms exceeded. Call log: - waiting for locator('aside').getByText('Urbanización')
Prova 2 (03/06 13:05) PASS Vídeo
#F1 PASS
4

Filtrar per tipologia Residencial

Aplica el filtre de tipologia Residencial al buscador de fitxes, captura els resultats filtrats i verifica que la URL incorpora el paràmetre typologies[] i que es mostra exactament 1 resultat al component CardSearch

stable (1x)
step3651-resultados-filtrados

step3651 resultados filtrados

8. click Clicar label "Residencial" y esperar round-trip de Livewire label:has-text("Residencial")
9. screenshot Capturar resultados filtrados
10. validate Comprova que els resultats es restringeixen a fitxes de la tipologia Residencial i que la URL incorpora typologies[]
Prova 1 (03/06 13:05) PASS Vídeo
#C1 PASS

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ó

Detalls

Estat
active
Generació
unstable
Validació
stable
Tipus
Playwright
Creat
03/06/2026 10:02
Descripció
Seleccionar tipología Residencial tras elegir Urbanización y verificar filtrado de resultados con parámetro URL

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
50%
1r intent OK
0%
Iteracions totals
12
Temps total
143s
→ Validaci&oacute;
143s
Cost total
$0.3346
Tokens totals
32,701
Crides API
11
→ Cost/pas
$0.00c

Cost IA

Total
$0.3346
Generació
$0.3286
Execucions
$0.60c
Tokens totals
32,701
Crides API
11

Últimes Execucions

Cap execució encara.