Curatare globala a comentariilor si docstring-urilor (app, tools, teste, scripturi): eliminate referintele la PRD-uri, US-xxx, task-uri istorice si review-uri; pastrata doar informatia functionala, formulata scurt. Regula adaugata in CLAUDE.md (sectiunea Stil). Fara modificari de cod sau comportament. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
"""Teste pentru eticheta_scurta."""
|
|
|
|
import pytest
|
|
|
|
from app.web.labels import eticheta_scurta, eticheta_stare
|
|
|
|
|
|
def test_eticheta_scurta_pentru_fiecare_stare():
|
|
"""Fiecare stare cunoscuta intoarce eticheta scurta corecta (pill)."""
|
|
cazuri = {
|
|
"queued": "In coada",
|
|
"sending": "Se trimite",
|
|
"sent": "Finalizat",
|
|
"needs_mapping": "De mapat",
|
|
"needs_data": "Date lipsa",
|
|
"error": "Eroare",
|
|
}
|
|
for status, eticheta_asteptata in cazuri.items():
|
|
rezultat = eticheta_scurta(status)
|
|
assert rezultat == eticheta_asteptata, (
|
|
f"Status {status!r}: asteptam {eticheta_asteptata!r}, got {rezultat!r}"
|
|
)
|
|
|
|
|
|
def test_eticheta_scurta_stare_necunoscuta_ridica_keyerror():
|
|
"""Stare neacoperita ridica KeyError (ca sa prinda stari noi adaugate in schema)."""
|
|
with pytest.raises(KeyError):
|
|
eticheta_scurta("stare_inexistenta")
|
|
|
|
|
|
def test_eticheta_lunga_ramane_pentru_subtext():
|
|
"""eticheta_stare inca intoarce textele lungi neschimbate (compat cu template-uri)."""
|
|
cazuri_lungi = {
|
|
"queued": "In asteptare",
|
|
"sending": "Se trimite acum",
|
|
"sent": "Declarate la RAR",
|
|
"needs_mapping": "Lipseste codul",
|
|
"needs_data": "Date incomplete",
|
|
"error": "Eroare la trimitere",
|
|
}
|
|
for status, fragment in cazuri_lungi.items():
|
|
text, subtext, css_class = eticheta_stare(status)
|
|
assert fragment.lower() in text.lower(), (
|
|
f"eticheta_stare({status!r}) text lung modificat — asteptam {fragment!r} in {text!r}"
|
|
)
|
|
assert isinstance(css_class, str) and css_class, (
|
|
f"eticheta_stare({status!r}) trebuie sa aiba css_class non-vida la pozitia 3"
|
|
)
|