Files
IPSExtractor/services/bot_digitador/tests/test_api_overlay.py
T

47 lines
1.3 KiB
Python

from __future__ import annotations
import os
from types import SimpleNamespace
os.environ["DATABASE_URL"] = "sqlite:///:memory:"
from api import main
def test_post_event_persists_live_overlay_in_job_result(monkeypatch):
patched: list[dict] = []
job = SimpleNamespace(result={"total": 10})
event = SimpleNamespace(to_dict=lambda: {"id": 1})
fake_store = SimpleNamespace(
get_job=lambda _job_id: job,
add_event=lambda *_args, **_kwargs: event,
patch_job=lambda _job_id, **kwargs: patched.append(kwargs) or job,
)
monkeypatch.setattr(main, "store", fake_store)
response = main.post_event(
"job-1",
main.EventBody(
event_type="radicado_processing",
message="Procesando",
index=4,
total=10,
metadata={
"estado": "Procesando",
"processed": 3,
"reinicios": 1,
"radicado_actual": "RAD-4",
"elapsed_seconds": 90,
"speed_per_minute": 2.0,
},
),
_="token",
)
assert response == {"id": 1}
result = patched[0]["result"]
assert result["processed"] == 3
assert result["total"] == 10
assert result["radicado_actual"] == "RAD-4"
assert result["reinicios"] == 1