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

59 lines
2.3 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_v482_guided_operations_helpers_exist():
guidance = read("app/admin_ui/guidance.py")
assert "def fiscal_contact_panel_html" in guidance
assert "Cliente fiscal e contacto Chatwoot" in guidance
assert "def readiness_checklist_html" in guidance
assert "Prontidão" in guidance
assert "def outbox_operator_message" in guidance
assert "Motivo provável" in read("app/admin_ui/pages/outbox.py")
def test_v482_operations_and_opportunities_show_fiscal_context_and_blockers():
ops = read("app/admin_ui/pages/operations.py")
opps = read("app/admin_ui/pages/opportunities.py")
vm = read("app/admin_ui/view_models/operations.py")
assert "work_item_blockers" in ops
assert "Associações por confirmar" in vm
assert "Bloqueios atuais" in opps
assert "Prontidão para documentos" in opps
assert "Prontidão para envio" in opps
assert "Associação fiscal" in opps
def test_v482_task_detail_separates_fiscal_customer_and_contact():
tasks = read("app/admin_ui/pages/tasks.py")
assert "fiscal_contact_panel_html" in tasks
assert "Prontidão fiscal da tarefa" in tasks
assert "Prontidão mínima antes de documento/envio" in tasks
assert "Corrigir estes dados antes de emitir documento" in tasks
def test_v482_system_health_has_production_state_and_data_quality_metrics():
service = read("app/operations_service.py")
system = read("app/admin_ui/pages/system.py")
assert "open_opportunities_without_fiscal_customer" in service
assert "active_incomplete_fiscal_customers" in service
assert "products_missing_external_code" in service
assert "seconds_since_last_chatwoot_webhook" in service
assert "Estado para operação" in system
assert "Oportunidades sem cliente fiscal" in system
assert "Clientes fiscais incompletos" in system
assert "Último webhook Chatwoot" in system
def test_v482_documentation_exists():
doc = read("docs/CLIENTFLOW_V482_PRODUCTION_STABILIZATION.md")
assert "Production Stabilization" in doc
assert "Cliente fiscal" in doc
assert "Outbox em linguagem operacional" in doc
assert "Sem migração" in doc