alphax/tests/test_confirm_market_risk_gate.py
2026-05-26 21:10:22 +08:00

29 lines
992 B
Python

from app.services.altcoin_confirm import _apply_market_risk_entry_gate
def test_market_risk_gate_blocks_executable_action_when_critical():
signals = ["15min即刻入场信号"]
plan, reason = _apply_market_risk_entry_gate(
{"entry_action": "可即刻买入", "entry_price": 1.0},
signals,
{"risk_level": "critical", "position_multiplier": 0.0},
)
assert plan["entry_action"] == "观察"
assert plan["market_risk_gate"]["blocked_action"] == "可即刻买入"
assert "暂停新开仓" in reason
assert any("市场风控闸门" in sig for sig in signals)
def test_market_risk_gate_keeps_observation_action_visible():
signals = []
plan, reason = _apply_market_risk_entry_gate(
{"entry_action": "观察", "entry_price": 1.0},
signals,
{"risk_level": "critical", "position_multiplier": 0.0},
)
assert plan["entry_action"] == "观察"
assert "market_risk_gate" not in plan
assert reason == ""