Move entry scheme to active plans only, required on archive.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -40,6 +40,35 @@ def test_normalize_plan_symbol():
|
||||
assert normalize_plan_symbol("ETH/USDT") == "ETH/USDT"
|
||||
|
||||
|
||||
def test_create_without_entry_scheme():
|
||||
with tempfile.TemporaryDirectory() as td:
|
||||
db = Path(td) / "plans.db"
|
||||
payload = _base_payload()
|
||||
del payload["entry_scheme"]
|
||||
row = create_entry_plan(payload, db_path=db)
|
||||
assert row["entry_scheme"] == ""
|
||||
assert row["entry_scheme_label"] == "待填写"
|
||||
|
||||
|
||||
def test_archive_requires_entry_scheme():
|
||||
with tempfile.TemporaryDirectory() as td:
|
||||
db = Path(td) / "plans.db"
|
||||
payload = _base_payload()
|
||||
del payload["entry_scheme"]
|
||||
row = create_entry_plan(payload, db_path=db)
|
||||
try:
|
||||
update_entry_plan(int(row["id"]), {"result": "win"}, db_path=db)
|
||||
assert False, "expected ValueError"
|
||||
except ValueError as e:
|
||||
assert "入场方案" in str(e)
|
||||
updated = update_entry_plan(
|
||||
int(row["id"]),
|
||||
{"entry_scheme": "breakout", "result": "win"},
|
||||
db_path=db,
|
||||
)
|
||||
assert updated["status"] == "archived"
|
||||
|
||||
|
||||
def test_create_list_delete_active_plan():
|
||||
with tempfile.TemporaryDirectory() as td:
|
||||
db = Path(td) / "plans.db"
|
||||
|
||||
Reference in New Issue
Block a user