feat(web): UI compact Trimiteri + bara bulk contextuala + fix buton "+" editor (PRD 5.22)
Trimiteri desktop = tabel grid cu header, un rand per trimitere: status = bulina cu tooltip, mediu = litera T/P, multi-cod = primul cod + badge +N, sub-linie de eroare cu textul brut RAR doar pe error/needs_data. Mobil: 2 linii prin grid-areas, fara header. Actiunile bulk apar doar la selectie (bara contextuala cu contor + texte explicite). Mapari: exemplu concret in loc de descriere la Reguli automate. Fix buton "+" chips (nu facea nimic, fara eroare): hx-disabled-elt="find button" mostenit de la form-ul parinte crapa htmx inainte de request -> hx-disabled-elt="this" explicit pe butoanele chips; separat, no-op-urile silentioase din post_form_chips au acum mesaje (cod invalid/duplicat) si confirmare cu chip evidentiat la succes. Suita: 1622 passed. Verify E2E in browser (desktop 1280 + mobil 390). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -212,3 +212,23 @@ def test_fara_operatie_service_cand_lipseste():
|
||||
d4 = prezentare_din_payload("nu-e-json")
|
||||
assert d4["op_service_cod"] == ""
|
||||
assert d4["op_service_denumire"] == ""
|
||||
|
||||
|
||||
def test_coduri_rar_lista_ordonata_dedup():
|
||||
from app.payload_view import prezentare_din_payload
|
||||
p = prezentare_din_payload({
|
||||
"vin": "WVWZZZ1JZXW000111",
|
||||
"prestatii": [
|
||||
{"cod_prestatie": "OE-1", "cod_op_service": "A"},
|
||||
{"cod_prestatie": "oe-2", "cod_op_service": "B"},
|
||||
{"cod_prestatie": "OE-1", "cod_op_service": "C"}, # duplicat
|
||||
{"cod_op_service": "D"}, # nemapat, fara cod
|
||||
],
|
||||
})
|
||||
assert p["coduri_rar"] == ["OE-1", "OE-2"]
|
||||
|
||||
|
||||
def test_coduri_rar_gol_fara_prestatii():
|
||||
from app.payload_view import prezentare_din_payload
|
||||
assert prezentare_din_payload({"vin": "X"})["coduri_rar"] == []
|
||||
assert prezentare_din_payload(None)["coduri_rar"] == []
|
||||
|
||||
Reference in New Issue
Block a user