study-buddy / tests /test_graph_state.py
GitHub Actions
deploy d092bea3608b7a29952f16357fda39b7a29e399b
2e818da
Raw
History Blame Contribute Delete
1.01 kB
from app.services.graph_state import GraphStateManager
from app.schemas.graph import NodeData, NodePatch
def test_apply_patch_updates_status():
mgr = GraphStateManager()
node = NodeData(id="n1", label="Entropy")
mgr.add_node("s1", node)
patched = mgr.apply_node_patch("s1", NodePatch(node_id="n1", status="completed"))
assert patched.status == "completed"
def test_new_children_appended():
mgr = GraphStateManager()
mgr.add_node("s1", NodeData(id="n1", label="Root"))
mgr.apply_node_patch("s1", NodePatch(node_id="n1", new_children=["n2", "n3"]))
node = mgr.get_node("s1", "n1")
assert "n2" in node.children_ids
assert "n3" in node.children_ids
def test_duplicate_children_not_added():
mgr = GraphStateManager()
mgr.add_node("s1", NodeData(id="n1", label="Root", children_ids=["n2"]))
mgr.apply_node_patch("s1", NodePatch(node_id="n1", new_children=["n2", "n3"]))
node = mgr.get_node("s1", "n1")
assert node.children_ids.count("n2") == 1