SprilurTests Project

Creació de projecte (happy path)

/

Prompt

- goal: An authenticated user can create a project via the happy path and is redirected to the created project's results page with a success flash tier: form entry: url: /es/projects/create auth: user:admin data: uid: "{{generated at runtime}}" form: submit: 'main button[type="submit"]' # the "Crear proyecto" button fields: - { label: "Título", selector: 'input[name="title"]', required: true, value: "Proyecto QA Test {uid}" } - { label: "Tipo de guía", selector: 'select[name="guide_type_id"]', required: true, value: "Urbanización" } - { label: "Tipología", selector: 'select[name="typology_id"]', required: true, value: "Residencial", required_when: "guide_type_id set first (options are x-show-filtered by guide type)" } - { label: "Alcance (ámbito)", selector: 'select[name="scope_id"]', required: true, value: "Proyecto" } - { label: "Superficie", selector: 'input[name="surface"]', required: false, value: 1000, note: "number, min=0, defaults to 0" } - { label: "Ponderaciones (12 áreas)", selector: 'input[name="weightings[<area>]"]', required: true, value: "leave defaults (they sum to 100)", note: "areas: materials, energy, water_cycle, atmosphere, waste, land_use, mobility, ecosystems, landscape, risks, climate_change, health_wellbeing" } accept: - expect_not_url: /create - expect_text: "Proyecto creado correctamente." - expect_text: "Abierto" - expect_visible: 'a[href*="/evaluate"]' notes: > Full-page HTML POST to route projects.store (redirect on success), NOT a Livewire action. typology_id options are Alpine x-show-filtered by the chosen guide_type_id — set guide type first. Default weightings (ScoringService::DEFAULT_WEIGHTINGS) already sum to 100; leave them. Success flash text is exact: "Proyecto creado correctamente." New projects start in status Abierto.

Pla de Test 4 pag · 15 passos · 7 validacions

Pàgines a visitar

/login Authentication page — login form (redirected from /dashboard when unauthenticated)
/dashboard User dashboard showing existing projects and Nuevo proyecto link after login
/es/projects/create Project creation form with general data, agents section and 12 area weightings
/es/projects/{id} Project results page after successful creation — shows spider chart and area breakdown

Passos del test

Validacions

After login, user is redirected to the dashboard — Nuevo proyecto link is visible a[href$='/es/projects/create']
Project creation form is loaded — title input field is present input[name='title']
Default weightings sum to 100 as shown by the Sumatorio indicator in the Ponderaciones section p:has-text('100/100')
After form submission, page is redirected to project results page — Evaluación action link is present (not on the create page) a[href*='/evaluate']
Project title is displayed as the main h1 heading on the results page h1
Success flash message confirms the project was created correctly text='Proyecto creado correctamente.'
Project shows Abierto status badge on the results page text='Abierto'

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
16
Temps total
174s
→ Validaci&oacute;
174s
Cost total
$0.8661
Tokens totals
875,841
Crides API
10
→ Cost/pas
$0.00c

Cost IA

Total
$0.8661
Generació
$0.2111
Execucions
$0.00c
Tokens totals
875,841
Crides API
10