fix(kanban): preserve dashboard completion summaries

This commit is contained in:
LeonSGP43 2026-05-05 11:07:13 +08:00 committed by Teknium
parent cca8587d35
commit 354502ee48
6 changed files with 236 additions and 4 deletions

View file

@ -1389,6 +1389,48 @@ def test_cli_complete_with_summary_and_metadata(kanban_home):
assert r.metadata == {"files": 3}
def test_cli_edit_backfills_result_on_done_task(kanban_home):
conn = kb.connect()
try:
tid = kb.create_task(conn, title="x", assignee="worker")
kb.complete_task(conn, tid)
finally:
conn.close()
meta = '{"source": "dashboard-recovery"}'
out = run_slash(
"edit " + tid
+ " --result \"DECIDED: done\""
+ " --summary \"DECIDED: done\""
+ " --metadata '" + meta + "'"
)
assert "Edited" in out
conn = kb.connect()
try:
task = kb.get_task(conn, tid)
run = kb.latest_run(conn, tid)
events = kb.list_events(conn, tid)
finally:
conn.close()
assert task.result == "DECIDED: done"
assert run.summary == "DECIDED: done"
assert run.metadata == {"source": "dashboard-recovery"}
assert events[-1].kind == "edited"
def test_cli_edit_rejects_non_done_task(kanban_home):
conn = kb.connect()
try:
tid = kb.create_task(conn, title="x", assignee="worker")
finally:
conn.close()
out = run_slash(f"edit {tid} --result nope")
assert "not done" in out
def test_cli_complete_bad_metadata_exits_nonzero(kanban_home):
conn = kb.connect()
try: