Files
fxhnt/tests/integration/test_run_paper_tracker_engine.py
jgrusewski 5af0668b78 feat(forward): wire _run_paper_tracker to the DB-backed deterministic engine
_run_paper_tracker now runs each track through forward_engine.run_track (anchor +
recompute/observed dispatch, DB-backed) instead of the JSON ForwardTracker, keeping
the transient-error tolerance. Returns forward_days/last_date/reinception.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 00:50:31 +02:00

23 lines
956 B
Python

import datetime as dt
from fxhnt.adapters.persistence.forward_nav import ForwardNavRepo
from fxhnt.application.forward_engine import run_track
class _RecomputeStrat:
def advance(self, last_date, extra):
return [("2026-07-07", 0.01), ("2026-07-08", 0.02)], extra
def test_engine_writes_nav_for_a_recompute_track(tmp_path, monkeypatch):
repo = ForwardNavRepo(f"sqlite:///{tmp_path}/pt.db")
repo.migrate()
from fxhnt import registry
monkeypatch.setitem(registry.STRATEGY_REGISTRY, "sixtyforty",
dict(registry.STRATEGY_REGISTRY["sixtyforty"],
definition={"params": {"v": 1}, "version": 1, "record_mode": "recompute"}))
out = run_track(repo, "sixtyforty", _RecomputeStrat(), today="2026-07-06",
at=dt.datetime(2026, 7, 8, 23, 30))
assert out["days"] == 2
assert [r.date for r in repo.nav_history("sixtyforty")] == ["2026-07-07", "2026-07-08"]