Files
crypto_monitor_user/tests/test_instance_settings_lib.py
T
dekun 53863559f4 Initialize crypto_monitor_user (user edition) from monitor codebase.
Retarget git remote, install path, and deploy docs from crypto_monitor to crypto_monitor_user.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 16:18:13 +08:00

44 lines
1.4 KiB
Python

"""instance_settings_lib 单元测试."""
from __future__ import annotations
import os
import unittest
from lib.instance.instance_settings_lib import build_instance_settings_view
class InstanceSettingsLibTest(unittest.TestCase):
def test_build_settings_view_sections(self):
view = build_instance_settings_view(
exchange_key="gate",
exchange_display="Gate.io",
risk_status={"status_label": "正常", "can_trade": True},
data_export_version=3,
)
titles = [s["title"] for s in view["sections"]]
self.assertIn("交易执行", titles)
self.assertIn("账户冷静期", titles)
self.assertEqual(view["data_export_version"], 3)
self.assertTrue(view["show_transfer"])
def test_force_close_section_when_enabled(self):
old = os.environ.get("FORCE_CLOSE_ENABLED")
try:
os.environ["FORCE_CLOSE_ENABLED"] = "true"
view = build_instance_settings_view(
exchange_key="gate",
exchange_display="Gate.io",
risk_status={},
)
titles = [s["title"] for s in view["sections"]]
self.assertIn("整点强制清仓", titles)
finally:
if old is None:
os.environ.pop("FORCE_CLOSE_ENABLED", None)
else:
os.environ["FORCE_CLOSE_ENABLED"] = old
if __name__ == "__main__":
unittest.main()