CLFGUI / tests /test_store.py
smlflg's picture
Initial public upload from Projekte/CLFGUI
a4514b4 verified
Raw History Blame Contribute Delete
1.21 kB
from clfgui.kernel import SQLiteStatusStore
def test_store_records_job_decision_and_result(tmp_path):
store = SQLiteStatusStore(tmp_path / "state.sqlite3")
job = store.create_job("Build a small owner app")
store.create_phases(job.id, ["plan", "research"])
phase = store.update_phase(job.id, "plan", "completed", "Plan ready")
decision = store.create_decision(
job.id,
"plan",
"Plan freigeben",
"Review the condensed plan.",
["Plan freigeben", "Auftrag blockieren"],
)
answered = store.answer_decision(decision.id, "Plan freigeben", "Looks good")
result = store.save_result(
job.id,
"Done",
blocked=False,
decisions=["Plan freigeben: Looks good"],
next_steps=["Ship V1"],
)
approved = store.set_result_approval(job.id, True)
snapshot = store.snapshot(job.id)
assert phase.status == "completed"
assert answered.status == "answered"
assert result.blocked is False
assert approved.approved is True
assert snapshot.job.id == job.id
assert [item.name for item in snapshot.phases] == ["plan", "research"]
assert snapshot.result is not None
store.close()