21 lines
886 B
Python
21 lines
886 B
Python
from gti_fiscal_agent.state import AgentState
|
|
|
|
|
|
def test_outbox_keeps_failed_work_pending(tmp_path):
|
|
state = AgentState(tmp_path / "agent.db")
|
|
assert state.enqueue("000276", "source", "v1", "0.1.0")
|
|
state.retry("000276")
|
|
assert state.pending()[0]["status"] == "PENDING_API"
|
|
state.result_received("000276", "source", "v1", "0.1.0")
|
|
assert state.enqueue("000276", "source", "v1", "0.1.0") is False
|
|
|
|
|
|
def test_ipi_write_log_records_per_product_audit(tmp_path):
|
|
state = AgentState(tmp_path / "agent.db")
|
|
state.log_ipi_write("000276", "fp1", "EXACT_NCM", "IPI_RESOLVED", "SUCCEEDED", None, 3.25, "rowcount=1", "CHANGE_REQUIRED", "2026-09-18T00:00:00Z")
|
|
log = state.ipi_write_log_for("000276")
|
|
assert len(log) == 1
|
|
assert log[0]["write_status"] == "SUCCEEDED"
|
|
assert log[0]["before_value"] is None
|
|
assert log[0]["proposed_value"] == "3.25"
|