Spaces:
Sleeping
Sleeping
File size: 1,008 Bytes
14184e3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 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
|