fix(HEL-356): complete Shenwan industry signal
Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
@@ -384,3 +384,39 @@ class MemberQuoteCoverageTests(unittest.TestCase):
|
||||
self.assertEqual(snapshot["change"], 1.5)
|
||||
self.assertNotIn("权限", snapshot.get("outer_error") or "")
|
||||
self.assertNotIn("rt_sw_k", snapshot.get("outer_error") or "")
|
||||
|
||||
def test_closed_uses_complete_member_daily_when_sector_quote_is_wrong(self) -> None:
|
||||
client = TushareClient(token="demo")
|
||||
client.resolve_trade_context = lambda _date: ("20260909", "20260908")
|
||||
client.sw_stock_industry = MagicMock(
|
||||
return_value={"l2_code": "801074.SI", "l2_name": "专用设备"}
|
||||
)
|
||||
client._sw_sector_members = MagicMock(return_value=[
|
||||
{"ts_code": "603011.SH", "name": "合锻智能"},
|
||||
{"ts_code": "000821.SZ", "name": "京山轻机"},
|
||||
])
|
||||
client._stock_listing_reference = MagicMock(return_value={})
|
||||
client._load_daily = MagicMock(return_value=[
|
||||
{"ts_code": "603011.SH", "name": "合锻智能", "pct_chg": 2, "amount": 1e8},
|
||||
{"ts_code": "000821.SZ", "name": "京山轻机", "pct_chg": -1, "amount": 1e8},
|
||||
])
|
||||
client._confirmed_suspended_members = MagicMock(return_value=[])
|
||||
client.query = MagicMock(return_value=[])
|
||||
client.try_sector_quote = MagicMock(return_value={
|
||||
"code": "801074.SI",
|
||||
"name": "托育服务",
|
||||
"change": -2.19,
|
||||
"quote_date": "20260909",
|
||||
"quote_time": "2026-09-09T15:00:00+08:00",
|
||||
"source": "eastmoney_sw",
|
||||
})
|
||||
|
||||
snapshot = client.sw_sector_snapshot(
|
||||
"603011.SH", "20260909", allow_realtime_close=True
|
||||
)
|
||||
|
||||
self.assertTrue(snapshot["precise"])
|
||||
self.assertEqual(snapshot["name"], "专用设备")
|
||||
self.assertEqual(snapshot["change"], 0.5)
|
||||
self.assertEqual(snapshot["outer_source"], "sw_member_equal_daily")
|
||||
self.assertEqual(snapshot["outer_error"], "")
|
||||
|
||||
Reference in New Issue
Block a user