SprilurTests Project

Validación tipología obligatoria en creación proyecto

/

Prompt

- goal: Submitting the create-project form without a Tipología is rejected (typology is required) and no project is created tier: form entry: url: /es/projects/create auth: user:admin form: submit: 'button[type="submit"]:has-text("Crear proyecto")' fields: - { label: "Título", selector: 'input[name="title"]', required: true, value: "Test Typology Required {uid}" } - { label: "Tipo de guía", selector: 'select[name="guide_type_id"]', required: true, value: "Edificación" } - { label: "Alcance", selector: 'select[name="scope_id"]', required: true, value: "Proyecto" } - { label: "Tipología", selector: 'select[name="typology_id"]', required: true, value: "(leave on Seleccionar)" } accept: - expect_invalid: 'select[name="typology_id"]' - expect_attr: { selector: 'select[name="typology_id"]', attr: required } - expect_url_contains: /projects/create notes: > select[name="typology_id"] is `required`; leaving it on the empty "Seleccionar" option triggers native invalid state. Never set typology before guide type (offlimits) — here guide type Edificación is set first. Do not expect a successful save.

Pla de Test 2 pag · 14 passos · 5 validacions

Pàgines a visitar

/login Login page with email/password form
/es/projects/create New project creation form with general data, agents and weightings sections

Passos del test

Validacions

Page URL remains at /es/projects/create after submit — project was not created, no redirect occurred form:has(input[name='title'])
Heading Nuevo proyecto is still visible — confirms the create form is still displayed, not a success page h1
Typology select still has empty value (Seleccionar option selected) — field was not filled select[name='typology_id']:invalid
Typology select is focused and marked as invalid by browser HTML5 required validation select[name='typology_id'][required]
No project detail page or success message is shown — the form is still in creation mode button[type='submit']:has-text('Crear proyecto')

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
100%
Iteracions totals
4
Temps total
67s
→ Validació
67s
Cost total
$0.5477
Tokens totals
806,437
Crides API
6
→ Cost/pas
$0.00c

Cost IA

Total
$0.5477
Generació
$0.1110
Execucions
$0.00c
Tokens totals
806,437
Crides API
6

Últimes Execucions

Cap execució encara.