feat: integrate iFinD data and refine intelligent workspaces

This commit is contained in:
leefer
2026-07-28 16:38:56 +08:00
parent 6adeb54458
commit f4b2d7152a
22 changed files with 6481 additions and 389 deletions
+42
View File
@@ -79,6 +79,48 @@ class AccountDataBoundaryTests(unittest.TestCase):
self.database.latest_screener_runs(self.second["id"], "20260722"), {}
)
def test_latest_screener_context_runs_keep_each_stage_and_strategy(self):
runs = [
("smart", "repair", "Repair", "600001"),
("smart", "repair", "Repair", "600002"),
("smart", "retreat", "Retreat", "600003"),
("curated", "repair", "Dividend", "600004"),
("curated", "repair", "Momentum", "600005"),
("quant", "repair", "Custom quant", "600006"),
("quant", "repair", "Custom quant", "600007"),
]
for mode, regime, strategy, code in runs:
self.database.save_screener_run(
self.first["id"], "20260722", regime, strategy, FORMULA,
{"candidates": [{"code": code}], "meta": {}}, mode,
)
results = self.database.latest_screener_context_runs(
self.first["id"], "20260722"
)
by_context = {
(
item["meta"]["mode"],
item["meta"]["regime"] if item["meta"]["mode"] == "smart" else "",
item["meta"]["strategy_name"] if item["meta"]["mode"] != "quant" else "",
): item["candidates"][0]["code"]
for item in results
}
self.assertEqual(by_context, {
("smart", "repair", "Repair"): "600002",
("smart", "retreat", "Retreat"): "600003",
("curated", "", "Dividend"): "600004",
("curated", "", "Momentum"): "600005",
("quant", "", ""): "600007",
})
self.assertEqual(
self.database.latest_screener_context_runs(
self.second["id"], "20260722"
),
[],
)
def test_mentor_messages_are_scoped_by_user_mentor_and_date(self):
self.database.save_mentor_exchange(
self.first["id"], "mentor-a", "20260721", "怎么看?", "先看承接。", "20260721"