Files
clientflow_backend/tests/test_v488_operations_classic_cards.py
2026-06-09 22:55:58 +01:00

53 lines
2.1 KiB
Python

from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
def read(path: str) -> str:
return (ROOT / path).read_text(encoding="utf-8")
def test_v488_operations_returns_to_classic_card_list_layout():
operations = read("app/admin_ui/pages/operations.py")
styles = read("app/admin_ui/styles.py")
assert 'id="operations-work-items" class="cf-live-panel"' in operations
assert 'cf-work-card' in operations
assert 'cf-work-section-title' in operations
assert 'cf-work-section' in operations
assert 'cf-workbench-layout' not in operations
assert 'operations-detail-panel' not in operations
assert '@router.get("/operations/partials/item-detail"' not in operations
assert 'grid-template-columns:minmax(360px,440px) minmax(0,1fr)' not in styles
assert '.cf-work-detail-panel{position:sticky' not in styles
assert '.cf-work-row{' not in styles
def test_v488_operations_keeps_simplified_cards_without_inline_details():
operations = read("app/admin_ui/pages/operations.py")
assert 'operation_card_title(item)' in operations
assert 'operation_card_subtitle(item)' in operations
assert 'operation_has_useful_details(item)' not in operations
assert 'Cliente fiscal' not in operations.split('def _render_work_item', 1)[1].split('details_html = ""', 1)[0]
assert '<summary>Ver detalhes</summary>' not in operations
assert 'operation_origin_label(item)' not in operations
def test_v488_operations_keeps_htmx_filter_partial_only():
operations = read("app/admin_ui/pages/operations.py")
assert '@router.get("/operations/partials/work-items"' in operations
assert 'hx-target="#operations-work-items"' in operations
assert 'hx-swap="outerHTML"' in operations
assert 'hx-push-url' in operations
def test_v488_documentation_states_classic_cards_replaced_workbench():
doc = read("docs/CLIENTFLOW_V488_OPERATIONS_CLASSIC_CARDS.md")
assert "Operations Classic Cards" in doc
assert "sem painel lateral fixo" in doc
assert "Não requer migração de base de dados" in doc
assert "Não altera regras de negócio" in doc