Files
daily_stock_analysis/tests/test_history_comparison_service.py
zhulinsen 093057a11b fix: 统一报告动作展示口径 (#1982)
* fix: unify report action display

* fix(review-feedback-1982): add Korean action labels or fall back before returning display action

* fix(review-feedback-1982): Derive signal metadata from resolved actions

* fix(review-feedback-1982): Derive history signal metadata from resolved actions

* fix(review-feedback-1982): Derive renderer emojis from resolved actions

* fix(review-feedback-1982): src/notification.py:2838:build stock summary 先得到 display

* fix(review-feedback-1982): 将 PR 正文同步到最新 head,确保范围、验证结果与实际 diff 一致

* fix(review-feedback-1982): 将 GitHub PR 正文同步到当前 head,并修正 docs/CHANGELOG.md 中不准确的审查过程记录
2026-07-11 14:04:34 +08:00

42 lines
1.1 KiB
Python

from datetime import datetime
from types import SimpleNamespace
from src.services.history_comparison_service import _record_to_signal
def _record(**overrides):
values = {
"created_at": datetime(2026, 7, 11, 9, 0),
"query_id": "q1",
"sentiment_score": 72,
"operation_advice": "Hold",
"trend_prediction": "Bullish",
"report_type": "stock",
"report_language": "en",
"raw_result": "{}",
}
values.update(overrides)
return SimpleNamespace(**values)
def test_history_signal_uses_score_aligned_display_action() -> None:
signal = _record_to_signal(_record(), report_language="en")
assert signal["action"] == "buy"
assert signal["action_label"] == "Buy"
def test_history_signal_preserves_applied_guardrail() -> None:
signal = _record_to_signal(
_record(
raw_result=(
'{"action":"hold","dashboard":{"decision_stability":'
'{"applied":true,"reason":"Wait for confirmation"}}}'
)
),
report_language="en",
)
assert signal["action"] == "hold"
assert signal["action_label"] == "Hold"