@@ -785,11 +785,16 @@ def test_reset_to_initial_nodes_preserves_existing_ids(client):
785
785
workflow = project .get_workflow ()
786
786
initial_nodes = workflow .reset_to_initial_nodes ()
787
787
788
+ # Create a complete workflow by adding nodes and edges
789
+ done_node = workflow .add_node (type = NodeType .Done , name = "Test Done" )
790
+ workflow .add_edge (initial_nodes .labeling , done_node )
791
+ workflow .add_edge (initial_nodes .rework , done_node )
792
+
788
793
# Record the original IDs
789
794
original_labeling_id = initial_nodes .labeling .id
790
795
original_rework_id = initial_nodes .rework .id
791
796
792
- # Update the workflow to save the initial state
797
+ # Update the workflow to save the initial state (now valid)
793
798
workflow .update_config ()
794
799
795
800
# Reset again with new configuration
@@ -804,6 +809,11 @@ def test_reset_to_initial_nodes_preserves_existing_ids(client):
804
809
),
805
810
)
806
811
812
+ # Rebuild the workflow structure after reset
813
+ done_node = workflow .add_node (type = NodeType .Done , name = "Test Done" )
814
+ workflow .add_edge (new_initial_nodes .labeling , done_node )
815
+ workflow .add_edge (new_initial_nodes .rework , done_node )
816
+
807
817
# Verify that the IDs are preserved
808
818
assert new_initial_nodes .labeling .id == original_labeling_id , (
809
819
f"InitialLabelingNode ID changed from { original_labeling_id } to { new_initial_nodes .labeling .id } . "
@@ -1013,12 +1023,10 @@ def test_edge_id_format_with_different_handles(client):
1013
1023
review_node , rework_node , NodeOutput .Rejected
1014
1024
)
1015
1025
1016
- # Verify edge ID formats
1017
- expected_approved_id = (
1018
- f"xy-edge__{ review_node .id } approved-{ done_node .id } in"
1019
- )
1026
+ # Verify edge ID formats - NodeOutput.Approved maps to "if", NodeOutput.Rejected maps to "else"
1027
+ expected_approved_id = f"xy-edge__{ review_node .id } if-{ done_node .id } in"
1020
1028
expected_rejected_id = (
1021
- f"xy-edge__{ review_node .id } rejected -{ rework_node .id } in"
1029
+ f"xy-edge__{ review_node .id } else -{ rework_node .id } in"
1022
1030
)
1023
1031
1024
1032
assert (
@@ -1028,9 +1036,9 @@ def test_edge_id_format_with_different_handles(client):
1028
1036
rejected_edge .id == expected_rejected_id
1029
1037
), f"Rejected edge ID format incorrect. Expected: { expected_rejected_id } , Got: { rejected_edge .id } "
1030
1038
1031
- # Verify handle values
1032
- assert approved_edge .sourceHandle == "approved "
1033
- assert rejected_edge .sourceHandle == "rejected "
1039
+ # Verify handle values - NodeOutput.Approved maps to "if", NodeOutput.Rejected maps to "else"
1040
+ assert approved_edge .sourceHandle == "if "
1041
+ assert rejected_edge .sourceHandle == "else "
1034
1042
assert approved_edge .targetHandle == "in"
1035
1043
assert rejected_edge .targetHandle == "in"
1036
1044
0 commit comments