feat(5.9): US-002 - tabel trimiteri: eticheta umana sub stare, cod RAR simplu, rand->modal
- Sub pill-ul de Stare apare eticheta umana scurta (`eticheta_problema` din US-001), text mic `s-error`, doar cand e ne-goala — stare transmisa prin text, nu doar culoare. - Coloana Operatie linia 2: codul RAR ca chip discret FARA prefixul "cod RAR:"; cand nemapat ramane "nemapat" muted (comportament 5.8 pastrat). - R8: regula touch 44px (min-height + padding) pe `tr.trimitere-row` + afordanta hover/focus; chevron inexistent in cod (randul declanseaza deja modalul din US-003, fara aria-expanded). - Teste: 7 teste noi US-002 + actualizate test_operatie_contine_cod_rar / test_tabel_nu_are_coloana_motiv; suita completa 826 passed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -29,7 +29,9 @@
|
||||
"Teste in `tests/test_web_submissions.py`: `test_eticheta_umana_sub_pill` (R1 rename), eticheta prezenta pe error/needs_mapping, goala pe rand ok.",
|
||||
"`python3 -m pytest tests/test_web_submissions.py -q` trece."
|
||||
],
|
||||
"tags": ["backend"],
|
||||
"tags": [
|
||||
"backend"
|
||||
],
|
||||
"dependsOn": [],
|
||||
"requiresBrowserCheck": false,
|
||||
"requiresDesignReview": false,
|
||||
@@ -57,7 +59,9 @@
|
||||
"Teste in `tests/test_web_modal.py`: `test_modal_container_in_afara_submissions_wrap`, `test_fragment_detaliu_tinteste_modalul`.",
|
||||
"`python3 -m pytest tests/test_web_modal.py -q` trece."
|
||||
],
|
||||
"tags": ["ui"],
|
||||
"tags": [
|
||||
"ui"
|
||||
],
|
||||
"dependsOn": [],
|
||||
"requiresBrowserCheck": true,
|
||||
"requiresDesignReview": true,
|
||||
@@ -81,8 +85,12 @@
|
||||
"Teste in `tests/test_web_responsive.py`: `test_viewport_meta_prezent`, `test_modal_fullscreen_clasa_mobil`, `test_nav_colapsabil_sub_breakpoint`.",
|
||||
"`python3 -m pytest tests/test_web_responsive.py -q` trece."
|
||||
],
|
||||
"tags": ["ui"],
|
||||
"dependsOn": ["US-003"],
|
||||
"tags": [
|
||||
"ui"
|
||||
],
|
||||
"dependsOn": [
|
||||
"US-003"
|
||||
],
|
||||
"requiresBrowserCheck": true,
|
||||
"requiresDesignReview": true,
|
||||
"passes": false,
|
||||
@@ -107,16 +115,21 @@
|
||||
"`python3 -m pytest tests/test_web_submissions.py -q` trece.",
|
||||
"E2E (requiresBrowserCheck): gstack browser pe `/` — rand `error` arata eticheta umana sub pill; fara chevron; cod RAR fara `cod RAR:`; click pe rand deschide modalul (nu rand-sibling)."
|
||||
],
|
||||
"tags": ["ui"],
|
||||
"dependsOn": ["US-001", "US-003"],
|
||||
"tags": [
|
||||
"ui"
|
||||
],
|
||||
"dependsOn": [
|
||||
"US-001",
|
||||
"US-003"
|
||||
],
|
||||
"requiresBrowserCheck": true,
|
||||
"requiresDesignReview": false,
|
||||
"passes": false,
|
||||
"passes": true,
|
||||
"failed": false,
|
||||
"blocked": false,
|
||||
"retries": 0,
|
||||
"failureReason": "",
|
||||
"notes": ""
|
||||
"notes": "Mare parte deja livrat de US-001 (camp eticheta_problema) si US-003 (rand declanseaza modalul). Atins: app/web/templates/_submissions.html (eticheta_problema sub pill cu clasa s-error doar cand ne-gol; col-operatie cod RAR ca chip cod-rar-cod fara prefixul 'cod RAR:'; nemapat muted), app/web/templates/base.html (CSS .eticheta-problema/.cod-rar-cod + R8 regula 44px touch-target pe tr.trimitere-row + hover/focus), tests/test_web_submissions.py (7 teste noi US-002 + actualizat test_operatie_contine_cod_rar si test_tabel_nu_are_coloana_motiv). Chevron inexistent in cod -> R8 doar adaugare regula 44px. Gates: pytest PASS (fisier 20; suita 826 passed, 1 deselected). DEFERAT la VERIFY: requiresBrowserCheck (gstack E2E pe /) + verificarea JS keyboard (Enter/Space deschide modal, Esc readuce focus) — netestabile in TestClient, acoperite prin assert pe markup/atribute (role=button, tabindex=0, aria-haspopup=dialog, fara aria-expanded) + prezenta handler-elor in base.html."
|
||||
},
|
||||
{
|
||||
"id": "US-004",
|
||||
@@ -138,8 +151,12 @@
|
||||
"`python3 -m pytest tests/test_web_corectie.py -q` trece.",
|
||||
"E2E (requiresBrowserCheck): gstack browser — `needs_data` arata fiecare camp o data (nr. pe un rand, VIN dedesubt), corectez data, `Salveaza si retrimite` -> rand `queued`; `error` arata `Re-pune in coada`; `Sterge` clar separat si rosu."
|
||||
],
|
||||
"tags": ["ui"],
|
||||
"dependsOn": ["US-003"],
|
||||
"tags": [
|
||||
"ui"
|
||||
],
|
||||
"dependsOn": [
|
||||
"US-003"
|
||||
],
|
||||
"requiresBrowserCheck": true,
|
||||
"requiresDesignReview": true,
|
||||
"passes": false,
|
||||
@@ -165,8 +182,12 @@
|
||||
"`python3 -m pytest tests/test_web_responsive.py -q` trece.",
|
||||
"E2E (requiresBrowserCheck): gstack browser la 375px pe `/?tab=mapari`, `?tab=jurnal`, Cont/Nomenclator/Integrare si `/admin` — fiecare fara scroll orizontal, tabele lizibile, formulare pe o coloana."
|
||||
],
|
||||
"tags": ["ui"],
|
||||
"dependsOn": ["US-006"],
|
||||
"tags": [
|
||||
"ui"
|
||||
],
|
||||
"dependsOn": [
|
||||
"US-006"
|
||||
],
|
||||
"requiresBrowserCheck": true,
|
||||
"requiresDesignReview": false,
|
||||
"passes": false,
|
||||
@@ -191,8 +212,12 @@
|
||||
"`python3 -m pytest tests/test_web_responsive.py -q` trece.",
|
||||
"E2E (requiresBrowserCheck): gstack browser la 375px pe `/`, `/login`, `/signup` — fara scroll orizontal; upload + filtre pe o coloana; carduri de trimiteri intacte."
|
||||
],
|
||||
"tags": ["ui"],
|
||||
"dependsOn": ["US-006"],
|
||||
"tags": [
|
||||
"ui"
|
||||
],
|
||||
"dependsOn": [
|
||||
"US-006"
|
||||
],
|
||||
"requiresBrowserCheck": true,
|
||||
"requiresDesignReview": false,
|
||||
"passes": false,
|
||||
@@ -217,8 +242,13 @@
|
||||
"`python3 -m pytest tests/test_web_modal.py -q` trece.",
|
||||
"E2E (requiresBrowserCheck): gstack browser — bifez 2 trimiteri, astept >15s: bifele raman; deschid modalul, astept >15s: modalul ramane deschis cu datele intacte."
|
||||
],
|
||||
"tags": ["ui"],
|
||||
"dependsOn": ["US-002", "US-003"],
|
||||
"tags": [
|
||||
"ui"
|
||||
],
|
||||
"dependsOn": [
|
||||
"US-002",
|
||||
"US-003"
|
||||
],
|
||||
"requiresBrowserCheck": true,
|
||||
"requiresDesignReview": false,
|
||||
"passes": false,
|
||||
|
||||
@@ -34,3 +34,37 @@ Note: PRD APROBAT 2026-06-24 cu revizii obligatorii R1-R12 (raport AUTOPLAN). R1
|
||||
- US-002 depinde de US-001 (acum done) + US-003.
|
||||
---
|
||||
## Rate limit la iter 10 — sleep 1800
|
||||
|
||||
## Iteratie: 2026-06-25
|
||||
### Story implementat: US-002 - Tabel trimiteri: eticheta umana sub stare, fara chevron, cod RAR simplu, rand declanseaza modalul (tags: ui)
|
||||
### Status: Complete
|
||||
|
||||
### Gates rulate:
|
||||
- Typecheck: SKIP (techStack.commands.typecheck gol)
|
||||
- Lint: SKIP (techStack.commands.lint gol)
|
||||
- Tests: PASS (tests/test_web_submissions.py 20; suita completa 826 passed, 1 deselected)
|
||||
- Browser (gstack/E2E requiresBrowserCheck) si /review: DEFERATE la VERIFY (loop fara browser) — vezi AC E2E.
|
||||
|
||||
### Ce s-a schimbat:
|
||||
- app/web/templates/_submissions.html: sub pill (col-stare) randeaza `r.eticheta_problema`
|
||||
(text mic `eticheta-problema s-error`, DOAR cand e ne-gol); col-operatie linia 2 arata
|
||||
codul RAR ca chip `cod-rar-cod` FARA prefixul "cod RAR:" (nemapat -> "nemapat" muted).
|
||||
- app/web/templates/base.html: CSS nou `.eticheta-problema`, `.cod-rar-cod`, si regula R8
|
||||
44px touch-target pe `tr.trimitere-row` (min-height + padding 11px) + afordanta hover/focus.
|
||||
- tests/test_web_submissions.py: 7 teste noi US-002 (eticheta sub pill + absenta pe ok, fara
|
||||
chevron, cod RAR fara prefix, nemapat, rand deschide modal, a11y+keyboard markup); actualizat
|
||||
`test_operatie_contine_cod_rar` (fara prefix) si `test_tabel_nu_are_coloana_motiv` (eticheta sub pill).
|
||||
|
||||
### Learnings:
|
||||
- Mare parte din scope-ul US-002 era deja livrat de US-001 (campul `eticheta_problema`) si US-003
|
||||
(randul declanseaza modalul: role=button/tabindex/aria-haspopup, fara aria-expanded; htmx:beforeRequest
|
||||
fara toggle). Chevron-ul NU exista in cod (grep zero) -> R8 a insemnat doar adaugarea regulii 44px, nu eliminare.
|
||||
- `motiv_uman` echo-ul mesajului RAR => eticheta_problema poate contine textul brut al erorii. Asta a
|
||||
intrat in conflict cu vechiul `test_tabel_nu_are_coloana_motiv` (5.8) care interzicea continutul Motiv
|
||||
in tabel; US-002 R1 il surfaceaza intentionat sub pill, deci testul a fost actualizat (pastreaza doar
|
||||
invarianta "fara coloana/celula Motiv").
|
||||
|
||||
### Next:
|
||||
- US-004 (detaliu editabil in-place + butoane in modal), US-005 (poll nu inchide modalul), US-006/007/008 (responsive).
|
||||
- VERIFY: ruleaza gstack E2E pe `/` pentru AC requiresBrowserCheck (eticheta sub pill, fara chevron, cod fara prefix, click deschide modal).
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user