Prompt
- goal: Requesting the evaluation URL of a project that is NOT open (Finalizado/Bloqueado) is blocked (redirect away or 403) and the evaluation UI is never shown tier: flow entry: url: /dashboard auth: user:admin preconditions: - desc: The user owns a project in a non-open status (Finalizado=2 or Bloqueado=3) existing_data_required: true steps: - { action: navigate, target: "Evaluate URL of the non-open project", selector: 'url:/es/projects/{id}/evaluate', note: "direct navigation" } - { action: assert, target: "Access blocked (redirect to dashboard or 403), evaluation heading absent" } accept: - expect_not_visible: 'h1:has-text("Evaluación")' - expect_one_of: - expect_url_contains: /dashboard - expect_status: 403 notes: > REWRITTEN to avoid mutating a project mid-test: instead of editing an open project to Finalizado, this now requires an EXISTING non-open project (existing_data_required). The Evaluación link is hidden for non-open projects on the dashboard; direct navigation to /evaluate must be rejected by the controller (EvaluationController::show authorizes open status). TODO: confirm exact block behaviour (302 to dashboard vs 403) and its flash/error text for a tighter oracle.
Pla de Test 4 pag · 13 passos · 6 validacions
Pàgines a visitar
Passos del test
| # | Acció | Descripció | Selector | Valor | |
|---|---|---|---|---|---|
#login-email
#login-password
button:has-text('Entrar')
select[name='status']
button:has-text('Guardar cambios')
Validacions
h1:has-text('Mis proyectos')
article:has(h2:has-text('test1')) h2 + *
article:has(h2:has-text('test1')) a:has-text('Editar datos')
article:has(h2:has-text('test1')) a[href*='/evaluate']
p:has-text('El proyecto no está abierto para edición.')
body:not(:has(h1:has-text('Evaluación')))
Historial de validació 1 iteracions
Detalls
- Estat
- active
- Generació
- none
- Tipus
- Playwright
- Creat
- 03/06/2026 14:42
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
- 8
- Temps total
- 78s
- → Validació
- 78s
- Cost total
- $0.8318
- Tokens totals
- 1,236,000
- Crides API
- 7
- → Cost/pas
- $0.00c
Cost IA
- Total
- $0.8318
- Generació
- $0.1227
- Execucions
- $0.00c
- Tokens totals
- 1,236,000
- Crides API
- 7