SprilurTests Evaluation

Restablir resposta guardada en fitxa d'avaluació

/

Prompt

- goal: Resetting a ficha that already has a saved answer clears the answer, empties the card, and recomputes project progress tier: stateful entry: url: /dashboard auth: user:admin preconditions: - desc: An OPEN project owned by the user with at least one card that already has a saved answer existing_data_required: true steps: - { action: click, target: "Evaluación on the open project", selector: 'article a:has-text("Evaluación")' } - { action: click, target: "Reiniciar (open confirm) on the target card", selector: 'article button:has-text("Reiniciar")', note: "the trigger is the article-scoped button with @click=openResetConfirmation() (class text-zinc-400)" } - { action: click, target: "Reiniciar (confirm) in modal", selector: '[role="dialog"] button:has-text("Reiniciar")', note: "the confirm button lives inside the [role=dialog] (@click=confirmResetCard, red bg)" } - { action: assert, target: "Card answer cleared and progress recalculated" } accept: - expect_hidden: '[role="dialog"]' - expect_no_checked_input_in: 'article' notes: > AMBIGUITY FIX: there are TWO "Reiniciar" controls per card (the trigger button and the modal confirm button, both text "Reiniciar"), which is what broke the old run. Disambiguate by scope: trigger = article-scoped button (openResetConfirmation); confirm = button inside [role="dialog"] (confirmResetCard). RECOMMENDED: add [data-testid="card-reset-open"] and [data-testid="card-reset-confirm"] in resources/views/projects/evaluate.blade.php so this stops depending on text. Reset posts to route projects.cards.reset (DELETE, AJAX) with dynamic CSRF; page does not reload, so assert via the cleared card state / recomputed progress, not a navigation. existing_data_required: a saved answer to reset.

Pla de Test 5 pag · 19 passos · 10 validacions

Pàgines a visitar

/ Landing page with navigation to login
/login Login form with email and password fields
/dashboard Dashboard listing open projects with completion percentage
/es/projects/7/evaluate Evaluation overview for project test1 — chapter list with percentages
/es/projects/7/evaluate/1 GEN chapter evaluation — fichas with saved responses and Reiniciar button

Passos del test

Validacions

Login redirects to dashboard after successful authentication h1:has-text('Mis proyectos')
GEN 1 card shows Aplicable radio checked before reset article:first-of-type input[type='radio'][aria-checked='true']:visible
GEN 1 card shows measure option (parcialmente) radio checked before reset article:first-of-type .group:not([aria-label='Aplicabilidad']) input[type='radio'][aria-checked='true']:visible
Reiniciar confirmation dialog is visible with correct title [role='dialog'] h4:has-text('Reiniciar ficha')
Confirmation dialog shows the correct warning message [role='dialog'] p
After reset, GEN 1 card has no measure option radio selected (parcialmente unchecked) article:first-of-type input[type='radio']:not([aria-label='Aplicable']):not([checked]):visible
After reset, GEN 1 checkbox 'completamente' is unchecked article:first-of-type input[type='checkbox']:not([checked]):visible
After reset, first quantification value in GEN 1 shows 0.0 score article:first-of-type aside strong:first-of-type
After reset, GEN chapter sidebar progress percentage decreases from 100% nav a[href*='/evaluate/1']:not(:has-text('100%'))
Dashboard shows test1 project with reduced completion percentage after reset article:has(h2:has-text('test1')) :has-text('Completado')

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
60%
1r intent OK
0%
Iteracions totals
16
Temps total
121s
→ Validació
121s
Cost total
$0.8593
Tokens totals
1,174,653
Crides API
11
→ Cost/pas
$0.00c

Cost IA

Total
$0.8726
Generació
$0.2071
Execucions
$0.64c
Tokens totals
1,177,937
Crides API
12

Últimes Execucions

Cap execució encara.