| def test_acceptance_e_options_mirror_payload_exposes_recent_skips_and_cap_flag():
|
| """When the per-account pct cap yields zero contracts, the mirror payload surfaces a
|
| ``recent_skips`` row carrying the budget_source + a ``cap_zero_contracts`` predicate."""
|
| from rtrader.services import tide_wave_dashboard as TWD
|
|
|
| trading_day = "2026-08-05"
|
| # A synthetic ledger with TWO skip rows: one with budget_source="per_account_pct" and
|
| # skip_reason="premium_over_budget" (the operator's zero-contracts case), one with
|
| # budget_source="legacy_fixed" (irrelevant to the flag). The flag must be True.
|
| fake_rows = [
|
| {"action": "skip", "skip_reason": "premium_over_budget",
|
| "event_et": "2026-08-05T13:45:00-04:00",
|
| "right": "call", "trigger_event": "manual_up",
|
| "detail": {"budget_source": "per_account_pct",
|
| "pct_equity_option": 0.05,
|
| "real_equity_usd": 24529.0,
|
| "mid": 1.05, "contract": "IWM260805C00296000"}},
|
| {"action": "skip", "skip_reason": "day_notional_cap",
|
| "event_et": "2026-08-05T13:50:00-04:00",
|
| "right": "put", "trigger_event": "manual_down",
|
| "detail": {"budget_source": "legacy_fixed",
|
| "mid": 0.95, "contract": "IWM260805P00296000"}},
|
| {"action": "open", "skip_reason": None,
|
| "event_et": "2026-08-05T13:30:00-04:00",
|
| "right": "call", "trigger_event": "auto_roll_up",
|
| "detail": {}},
|
| ]
|
|
|
| def _coll(name):
|
| coll = MagicMock()
|
| if name == TWD._OPTIONS_MIRROR_COLLECTION:
|
| coll.find.return_value = fake_rows
|
| return coll
|
| return MagicMock()
|
|
|
| class _Ctx:
|
| def __getitem__(self, name): return _coll(name)
|
|
|
| db_factory = lambda: _Ctx()
|
| policy_map = {CUIXIA: "exact_mirror"}
|
|
|
| # The broker factory is never invoked (active_day=False).
|
| with patch.object(TWD, "_default_db_factory", return_value=_Ctx()), \
|
| patch.object(TWD, "_options_active_day", return_value="2099-01-01"), \
|
| patch("rtrader.services.plugins.odte_iwm_mirror.resolve_policy_map",
|
| return_value=policy_map):
|
| payload = TWD.options_mirror_payload(
|
| trading_day, db_factory=db_factory, active_day=False,
|
| )
|
|
|
| assert payload["ok"] is True
|
| cuixia_account = payload["accounts"][CUIXIA]
|
| # Acceptance (e): the cap_zero_contracts predicate flips when the budget_source is the
|
| # per-account pct path AND the reason is premium_over_budget / day_notional_cap.
|
| > assert cuixia_account["cap_zero_contracts"] is True
|
| E assert False is True
|
|
|
| tests/services/test_equity_split.py:342: AssertionError
|