Split journal order type from entry reason and fix review edit toggle in embed shell.
Adds order_type to journal uploads, removes legacy swing/trend labels from entry reason options, and ensures review-edit buttons sync when the records tab loads dynamically. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
"""journal_form_lib / strategy_trade_labels 下单类型与开仓类型拆分."""
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
|
||||
from lib.instance.journal_form_lib import (
|
||||
journal_entry_reason_valid,
|
||||
normalize_journal_entry_reason,
|
||||
)
|
||||
from lib.strategy.strategy_trade_labels import (
|
||||
JOURNAL_ORDER_TYPE_OPTIONS,
|
||||
normalize_journal_order_type,
|
||||
order_type_from_monitor_type,
|
||||
)
|
||||
from lib.trade.entry_model_lib import build_journal_entry_reason_options
|
||||
|
||||
|
||||
class JournalFormLibTests(unittest.TestCase):
|
||||
def test_journal_entry_reason_excludes_legacy_style_and_strategy(self):
|
||||
opts = build_journal_entry_reason_options()
|
||||
self.assertIn("反转/启动A", opts)
|
||||
self.assertNotIn("趋势单", opts)
|
||||
self.assertNotIn("波段单", opts)
|
||||
self.assertNotIn("趋势回调", opts)
|
||||
self.assertNotIn("顺势加仓", opts)
|
||||
|
||||
def test_normalize_journal_entry_reason_rejects_legacy_for_new_submit(self):
|
||||
opts = build_journal_entry_reason_options()
|
||||
self.assertEqual(
|
||||
normalize_journal_entry_reason("趋势单", opts, allow_legacy=False),
|
||||
"",
|
||||
)
|
||||
self.assertEqual(
|
||||
normalize_journal_entry_reason("趋势回调", opts, allow_legacy=False),
|
||||
"",
|
||||
)
|
||||
|
||||
def test_normalize_journal_entry_reason_accepts_legacy_when_allowed(self):
|
||||
opts = build_journal_entry_reason_options()
|
||||
self.assertEqual(
|
||||
normalize_journal_entry_reason("趋势单", opts, allow_legacy=True),
|
||||
"趋势单",
|
||||
)
|
||||
|
||||
def test_order_type_from_monitor_type(self):
|
||||
self.assertEqual(order_type_from_monitor_type("下单监控"), "下单监控")
|
||||
self.assertEqual(order_type_from_monitor_type("关键位监控"), "关键位监控")
|
||||
self.assertEqual(order_type_from_monitor_type("趋势回调"), "趋势回调")
|
||||
self.assertEqual(order_type_from_monitor_type("顺势加仓"), "顺势加仓")
|
||||
|
||||
def test_normalize_journal_order_type(self):
|
||||
self.assertEqual(normalize_journal_order_type("顺势加仓"), "顺势加仓")
|
||||
self.assertEqual(normalize_journal_order_type(""), "")
|
||||
self.assertEqual(len(JOURNAL_ORDER_TYPE_OPTIONS), 4)
|
||||
|
||||
def test_journal_entry_reason_valid(self):
|
||||
opts = build_journal_entry_reason_options()
|
||||
self.assertTrue(journal_entry_reason_valid("顺势/大分歧A", opts))
|
||||
self.assertFalse(journal_entry_reason_valid("趋势单", opts))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user