币本位顶栏资金显示USDT+ETH,单笔期权本位改为下拉选择

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-08-20 12:38:39 +08:00
parent 1314349fe5
commit a84554e613
12 changed files with 271 additions and 46 deletions
+16 -1
View File
@@ -91,6 +91,7 @@ class TestEnvSchema(unittest.TestCase):
"OKX_POS_MODE",
"POSITION_SIZING_MODE",
"TRADE_DIRECTION",
"OKX_OPTIONS_MARGIN_MODE",
):
self.assertIn(key, SELECT_OPTIONS)
@@ -101,9 +102,19 @@ class TestEnvSchema(unittest.TestCase):
self.skipTest("missing okx .env.example")
groups = build_env_ui_payload("okx", example, env_path if os.path.isfile(env_path) else example)
by_key = {f["key"]: f for g in groups for f in g["fields"]}
for key in ("OKX_TD_MODE", "OKX_POS_MODE", "POSITION_SIZING_MODE", "TRADE_DIRECTION"):
for key in (
"OKX_TD_MODE",
"OKX_POS_MODE",
"POSITION_SIZING_MODE",
"TRADE_DIRECTION",
"OKX_OPTIONS_MARGIN_MODE",
):
self.assertEqual(by_key[key]["type"], "select")
self.assertTrue(by_key[key]["options"])
self.assertEqual(
{o["value"] for o in by_key["OKX_OPTIONS_MARGIN_MODE"]["options"]},
{"usdc", "coin"},
)
self.assertIn("KEY_AUTO_ORDER_ENABLED", by_key)
self.assertEqual(by_key["KEY_AUTO_ORDER_ENABLED"]["label"], "关键位自动单")
self.assertEqual(by_key["KEY_AUTO_ORDER_ENABLED"]["type"], "bool")
@@ -146,6 +157,10 @@ class TestShowPerpFunds(unittest.TestCase):
self.assertEqual(options_funding_label(12.5, 99.0), "12.50 USDC")
self.assertEqual(options_funding_label(0.0, 50.0), "0.00 USDC")
self.assertEqual(options_funding_label(None, 10.0), "")
self.assertEqual(
options_funding_label(1.0, 20.0, 0.01, "coin", "ETH"),
"20.00 USDT / 0.01 ETH",
)
if __name__ == "__main__":
+8 -3
View File
@@ -27,17 +27,22 @@ class TestHeaderStatsLib(unittest.TestCase):
def test_total_funds_usdt(self):
self.assertEqual(total_funds_usdt(100.5, 59.27), 159.77)
self.assertIsNone(total_funds_usdt(None, 10))
self.assertEqual(total_funds_usdt(None, 10), 10.0)
self.assertIsNone(total_funds_usdt(None, None))
self.assertEqual(
total_funds_usdt(100, 50, options_trading_usdc=0.2, options_trading_usdt=10),
160.2,
)
def test_options_funding_label(self):
self.assertEqual(options_funding_label(1.5, 10), "1.50 USDC · 10.00 USDT")
self.assertEqual(options_funding_label(1.5, 10), "1.50 USDC")
self.assertEqual(options_funding_label(10.19, 0), "10.19 USDC")
self.assertEqual(options_funding_label(None, 10), "10.00 USDT")
self.assertEqual(options_funding_label(None, 10), "")
self.assertEqual(options_funding_label(None, None), "")
self.assertEqual(
options_funding_label(None, 12.5, 0.004321, "coin", "ETH"),
"12.50 USDT / 0.004321 ETH",
)
if __name__ == "__main__":