fix: restore heaven interpretation persistence dependency

This commit is contained in:
leefer
2026-08-02 11:34:48 +08:00
parent c32873b3d4
commit 728cc48f90
4 changed files with 54 additions and 3 deletions
+1
View File
@@ -3,6 +3,7 @@ from __future__ import annotations
import copy
import json
import re
import secrets
from datetime import date, datetime, timedelta
from typing import Any
+2 -2
View File
@@ -354,8 +354,8 @@
},
{
"path": "backend/features/heaven/service.py",
"bytes": 63123,
"lines": 1303
"bytes": 63138,
"lines": 1304
},
{
"path": "backend/features/market/insights.py",
+44
View File
@@ -124,6 +124,50 @@ class HeavenReadingTests(unittest.TestCase):
len(self.database.list_heaven_readings(self.owner["id"], "fortune")), 1
)
def test_trend_interpretation_saves_successful_agent_result(self):
service = DashboardService.__new__(DashboardService)
service.database = self.database
service._request_context = threading.local()
service._request_context.user_id = self.owner["id"]
setup = {
"trade_date": "20260723",
"chart": {
"available": True,
"sector": "银行",
"stock": {"code": "000001", "name": "平安银行"},
"hexagram": {
"name": "中孚",
"lines": [],
"transformed": {"name": "小畜"},
},
"movement": {},
},
}
with patch.object(service, "heaven_setup", return_value=setup), patch.object(
service,
"_call_heaven_agent",
return_value=(
{"answer": "完整的解势结果", "model": "test", "latency_ms": 1},
"primary",
),
):
result = service.heaven_interpret(
{
"mode": "trend",
"trade_date": "2026-07-23",
"stock_code": "000001",
}
)
self.assertFalse(result["reused"])
self.assertEqual(result["answer"], "完整的解势结果")
self.assertEqual(result["reading"]["subject"], "000001 平安银行")
self.assertEqual(
self.database.list_heaven_readings(self.owner["id"], "trend")[0]["answer"],
"完整的解势结果",
)
if __name__ == "__main__":
unittest.main()