arc/hesabixAPI/tests/test_invoice_person_id_header.py
2026-08-18 22:30:35 +00:00

35 lines
934 B
Python

"""خواندن person_id فاکتور از extra_info یا ریشهٔ payload (ابزار AI)."""
from __future__ import annotations
from app.services.invoice_service import _person_id_from_header
def test_person_id_from_extra_info():
assert _person_id_from_header({"extra_info": {"person_id": 176105}}) == 176105
def test_person_id_from_root_payload():
assert (
_person_id_from_header(
{
"invoice_type": "invoice_sales",
"person_id": 176105,
"extra_info": {},
}
)
== 176105
)
def test_person_id_prefers_extra_info_over_root():
assert (
_person_id_from_header(
{"person_id": 1, "extra_info": {"person_id": 99}}
)
== 99
)
def test_person_id_missing_returns_none():
assert _person_id_from_header({"extra_info": {}}) is None
assert _person_id_from_header({}) is None