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

39 lines
1.6 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_operations_is_single_work_queue_not_mini_dashboard():
operations = read("app/admin_ui/pages/operations.py")
assert "Lista única de trabalho do operador" in operations
assert "o que tenho de fazer agora?" in operations
assert "Não é um mini-dashboard técnico" in operations
assert "Outbox que precisa de atenção" not in operations
assert "Documentos que podem exigir ação" not in operations
assert "Produtos sem Artigo Jasmin" not in operations
assert "Clientes incompletos" not in operations
def test_operations_has_operator_filters_and_primary_buttons():
operations = read("app/admin_ui/pages/operations.py")
for label in ["Todas", "Vendas", "Financeiro", "Logística", "Revisão", "Bloqueadas", "Concluídas hoje"]:
assert label in operations
for label in ["Preparar orçamento", "Preparar pró-forma", "Confirmar pagamento", "Rever mensagem", "Associar cliente"]:
assert label in operations
assert "Abrir Chatwoot ↗" in operations
assert "Ver oportunidade" in operations
def test_operations_service_returns_compact_queue_counters_and_action_codes():
ops = read("app/operations_service.py")
assert "work_queue_total" in ops
assert "overdue_tasks" in ops
assert "review_tasks" in ops
assert "blocked_outbox" in ops
assert "t.action_code" in ops and "AS action_code" in ops
assert "upper(io.target_system || '_' || io.action_type) AS action_code" in ops