SprilurTests Project

Edició bloquejada quan el projecte està bloquejat

/

Prompt

- goal: Directly requesting the edit URL of a Bloqueado (status=3) project returns 403 Forbidden and the edit form is not shown tier: flow entry: url: /dashboard auth: user:admin preconditions: - desc: The user owns a project in status Bloqueado (status=3) existing_data_required: true steps: - { action: navigate, target: "Edit URL of the blocked project", selector: 'url:/es/projects/{id}/edit' } - { action: assert, target: "403 Forbidden, no edit form" } accept: - expect_status: 403 - expect_not_visible: 'form.space-y-5' notes: > On the dashboard/show, the "Editar/Editar datos" link is hidden when status==3; direct navigation to /edit must be authorized-rejected with 403 (ProjectController::edit authorize). existing_data_required: a Bloqueado project. TODO: confirm the id of a seeded blocked project (old run used id 8).

Pla de Test 3 pag · 9 passos · 3 validacions

Pàgines a visitar

/login Login page with email and password form
/dashboard Dashboard listing user projects, including Proyecto QA Test with Bloqueado status
/es/projects/8/edit Direct access to edit URL of blocked project (ID=8, status=Bloqueado) — should return 403

Passos del test

Validacions

The 403 error heading is displayed on the page [role="main"] h1
The unauthorized error message is visible [role="main"] div.ml-4
No edit form is present on the page — form access is fully blocked form

Historial de validació 1 iteracions

#? FAIL

Detalls

Estat
active
Generació
none
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
100%
1r intent OK
0%
Iteracions totals
4
Temps total
54s
→ Validació
54s
Cost total
$1.2928
Tokens totals
2,108,777
Crides API
6
→ Cost/pas
$0.00c

Cost IA

Total
$1.2928
Generació
$0.0661
Execucions
$0.00c
Tokens totals
2,108,777
Crides API
6