SprilurTests Project

Tipologies filtrades pel tipus de guia

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

Inicia sessió amb admin@sprilur.test i password. Navega a /es/projects/create. Selecciona 'Edificación' al desplegable guide_type_id. Verifica que al desplegable typology_id només apareixen les opcions 'Edificio industrial' i 'Edificio terciario', i que no apareixen opcions d'Urbanización.

Pla de Test 2 pag · 10 passos · 5 validacions

Pàgines a visitar

/login Login form with email and password fields
/es/projects/create New project form with guide_type_id and typology_id dropdowns

Passos del test

Validacions

Edificio industrial option (value=7) is visible in typology dropdown — no display:none style select[name="typology_id"] option[value="7"]:not([style*="display: none"])
Edificio terciario option (value=8) is visible in typology dropdown — no display:none style select[name="typology_id"] option[value="8"]:not([style*="display: none"])
Residencial option (Urbanización, value=1) is hidden in typology dropdown after selecting Edificación select[name="typology_id"] option[value="1"][style*="display: none"]
Industrial option (Urbanización, value=2) is hidden in typology dropdown after selecting Edificación select[name="typology_id"] option[value="2"][style*="display: none"]
Equipamiento público option (Urbanización, value=5) is hidden in typology dropdown after selecting Edificación select[name="typology_id"] option[value="5"][style*="display: none"]

Historial de validació 1 iteracions

#? FAIL

Passos del Test 3 steps

1

Login with correct admin credentials

Navigates to login page, fills admin credentials (admin@sprilur.test/password), submits form, and waits for successful redirect to dashboard

stable (5x)
step3741-login-result

step3741 login result

1. navigate Navigate to login page
2. fill Fill email field with admin credentials #login-email
3. fill Fill password field #login-password
4. click Click Entrar button to submit login form div:has(#login-email) button
5. wait Wait for redirect to dashboard after successful login
Generació inicial FAIL
#1 FAIL pas 4 · refine
El selector coincideix amb més d'un element — cal afinar-lo perquè sigui únic.
locator.click: Error: strict mode violation: locator('div:has(#login-email) button') resolved to 2 elements: 1) <but... [veure tot] locator.click: Error: strict mode violation: locator('div:has(#login-email) button') resolved to 2 elements: 1) <button type="submit" class="inline-flex border-2 border-[#c8102e] px-7 py-3 text-sm font-bold uppercase tracking-wide text-zinc-700 transition hover:bg-[#c8102e] hover:text-white">↵ Entrar↵ </button> aka getByRole('button', { name: 'Entrar' }) 2) <button type="submit" class="inline-flex border-2 border-[#c8102e] px-7 py-3 text-sm font-bold uppercase tracking-wide text-zinc-700 transition hover:bg-[#c8102e] hover:text-white">↵ Registrarse↵ </button> aka getByRole('button', { name: 'Registrarse' }) Call log: - waiting for locator('div:has(#login-email) button')
#3 FAIL · regenerate
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
page.waitForURL: Timeout 10000ms exceeded. =========================== logs =========================== waiting for navi... [veure tot] page.waitForURL: Timeout 10000ms exceeded. =========================== logs =========================== waiting for navigation until "load" ============================================================
#4 FAIL pas 2 · regenerate
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
locator.clear: Timeout 30000ms exceeded. Call log: - waiting for locator('#login-email') [veure tot] locator.clear: Timeout 30000ms exceeded. Call log: - waiting for locator('#login-email')
Prova 1 (05/06 10:05) PASS Vídeo
#F1 PASS
2

Navigate to project creation page

Navigate to the project creation page and capture the initial state of the form before any guide type selection

stable (3x)
step3742-project-create-before-filter

step3742 project create before filter

6. navigate Navigate to new project creation page
7. screenshot Capture initial state of project creation form before guide type selection
Prova 1 (05/06 10:05) PASS Vídeo
#C1 PASS
3

Select Edificación guide type and verify typology filtering

Selects 'Edificación' in the guide type dropdown and waits for the typology dropdown to update via JavaScript, hiding Urbanización options and showing only building-related typologies (Edificio industrial and Edificio terciario). Captures the filtered state and verifies the correct options are visible/hidden.

stable (2x)
step3743-project-create-edificacion-filtered

step3743 project create edificacion filtered

8. fill Select Edificación in the guide type dropdown (value 2) select[name="guide_type_id"]
9. wait Wait for typology dropdown to update — Urbanización options receive display:none via JS select[name="typology_id"] option[value="1"][style*="display: none"]
10. screenshot Capture typology dropdown now showing only Edificio industrial and Edificio terciario
Residencial option (Urbanización, value=1) is hidden in typology dropdown after selecting Edificación
Generació inicial FAIL
#2 FAIL pas 9 · refine
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
page.waitForSelector: Timeout 5000ms exceeded. Call log: - waiting for locator('select[name="typology_id"] option[valu... [veure tot] page.waitForSelector: Timeout 5000ms exceeded. Call log: - waiting for locator('select[name="typology_id"] option[value="1"][style*="display: none"]') to be visible 15 × locator resolved to hidden <option value="1" data-guide-type="1" x-show="guideTypeId === '' || guideTypeId === '1'">↵ Residencial↵ …</option>
Prova 1 (05/06 10:05) PASS Vídeo
#C1 FAIL select[name="typology_id"] option[value="7"][data-guide... · refined
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
expect(locator).toBeVisible() failed Locator: locator('select[name="typology_id"] option[value="7"][data-guide-type="2... [veure tot] expect(locator).toBeVisible() failed Locator: locator('select[name="typology_id"] option[value="7"][data-guide-type="2"]') Expected: visible Received: hidden Timeout: 5000ms Call log: - Expect "to.be.visible" with timeout 5000ms - waiting for locator('select[name="typology_id"] option[value="7"][data-guide-type="2"]') 9 × locator resolved to <option value="7" data-guide-type="2" x-show="guideTypeId === '' || guideTypeId === '2'">↵ Edificio industrial↵…</option> - unexpected value "hidden"
#C2 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ó

Resum d'execució

Test estable · tots els passos correctes

Generant resum de l'execució…

Detalls

Estat
active
Generació
unstable
Validació
stable
Tipus
Playwright
Creat
03/06/2026 14:43

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
0%
1r intent OK
0%
Iteracions totals
6
Temps total
110s
→ Validaci&oacute;
110s
Cost total
$1.3433
Tokens totals
1,555,831
Crides API
10
→ Cost/pas
$0.00c

Cost IA

Total
$1.3583
Generació
$0.1802
Execucions
$0.55c
Tokens totals
1,558,771
Crides API
11

Últimes Execucions

Cap execució encara.