b733e551a0
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>
44 lines
1.4 KiB
Python
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()
|