Files
GTI_GERENCIADOR_FISCAL/fiscal/tests/test_erp_field_map_artifact.py
gti d21a9d1140 Add 'fiscal/' from commit '102ba84500dbd9655a0471288c3e278652593ca9'
git-subtree-dir: fiscal
git-subtree-mainline: d95165fc8f
git-subtree-split: 102ba84500
2026-09-29 14:43:23 -03:00

27 lines
1.0 KiB
Python

import json
from pathlib import Path
import pytest
DOCS = Path(__file__).resolve().parents[1] / "docs"
FMAP = DOCS / "ERP_FISCAL_FIELD_MAP_V1.json"
pytestmark = pytest.mark.skipif(not FMAP.exists(), reason="field map artifact not generated")
WRITABLE = {"IPI", "EX_TIPI", "CEST"}
def test_only_proven_product_fields_are_write_candidates():
fields = json.loads(FMAP.read_text(encoding="utf-8"))["fields"]
for f in fields:
if f["write_candidate"]:
assert f["table"] == "C000025" and f["field"] in WRITABLE and f["confidence"] == "HIGH"
if f["usage_class"] in ("LEGACY_UNUSED", "UNKNOWN") or f["confidence"] == "LOW":
assert not f["write_candidate"]
def test_every_context_input_has_a_known_status():
doc = json.loads((DOCS / "FISCAL_CONTEXT_REQUIREMENTS_V1.json").read_text(encoding="utf-8"))
allowed = {"AVAILABLE_FROM_ERP", "AVAILABLE_FROM_AGENT_CONFIG", "AVAILABLE_FROM_JOB", "MISSING"}
for dom in doc["domains"].values():
assert {i["status"] for i in dom["inputs"].values()} <= allowed