Files
crypto_monitor/tests/test_instance_settings_lib.py
T
dekun b733e551a0 Normalize fullwidth punctuation to ASCII across codebase.
Add scripts/normalize_ambiguous_unicode.py; fix corrupted patch_instance_theme_templates.py. Preserves curly quotes in string literals; removes Git homoglyph warnings on .env.example.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 23:42:26 +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()