fix: 统计日历服务端内嵌 bootstrap,首屏显示盈亏与笔数

与月统计同源 initial_calendar 写入页面,API 失败时仍渲染;四所日历路由独立注册并传入 get_db_fn。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-30 09:13:58 +08:00
parent 4f784d09ac
commit 3b687d17eb
15 changed files with 195 additions and 53 deletions
+16 -1
View File
@@ -1,7 +1,9 @@
import unittest
from types import SimpleNamespace
from trade_stats_calendar_lib import build_trade_stats_calendar
from datetime import datetime
from trade_stats_calendar_lib import build_initial_stats_calendar, build_trade_stats_calendar
def _row(**kwargs):
@@ -54,6 +56,19 @@ class TradeStatsCalendarLibTests(unittest.TestCase):
with self.assertRaises(ValueError):
build_trade_stats_calendar([], 2026, 13, "all", _matches_all)
def test_initial_calendar_uses_current_month(self):
pnls = [(2.5, None, "2026-06-20", _row())]
payload = build_initial_stats_calendar(
pnls,
datetime(2026, 6, 26, 12, 0),
_matches_all,
reset_hour=8,
)
self.assertEqual(payload["year"], 2026)
self.assertEqual(payload["month"], 6)
self.assertEqual(payload["month_open_count"], 1)
self.assertIn("2026-06-20", payload["days"])
if __name__ == "__main__":
unittest.main()