minor updates
This commit is contained in:
@@ -570,8 +570,8 @@ class TestTreeviewBehaviour:
|
||||
assert first_id == second_id
|
||||
assert tree_view._state.items[first_id].label == "folder2"
|
||||
|
||||
def test_i_can_add_the_same_node_id_twice(self, root_instance):
|
||||
"""Test that adding a node with the same ID as an existing node raises ValueError."""
|
||||
def test_adding_node_with_duplicate_id_replaces_existing(self, root_instance):
|
||||
"""Test that adding a node with duplicate ID replaces the existing node."""
|
||||
tree_view = TreeView(root_instance)
|
||||
|
||||
node1 = TreeNode(label="Node", type="folder", id="existing_id")
|
||||
@@ -580,43 +580,47 @@ class TestTreeviewBehaviour:
|
||||
node2 = TreeNode(label="Other Node", type="folder", id="existing_id")
|
||||
tree_view.add_node(node2)
|
||||
|
||||
assert len(tree_view._state.items) == 1, "Node should not have been added to items"
|
||||
assert tree_view._state.items[node1.id] == node2, "Node should not have been replaced"
|
||||
|
||||
# Only one node should exist
|
||||
assert len(tree_view._state.items) == 1, "Should have only one node with this ID"
|
||||
|
||||
# The second node should have replaced the first
|
||||
assert tree_view._state.items["existing_id"] == node2, "Second node should replace the first"
|
||||
assert tree_view._state.items["existing_id"].label == "Other Node", "Replacement node should have new label"
|
||||
|
||||
def test_selecting_node_cancels_edit_mode(self, root_instance):
|
||||
"""Test that selecting a node cancels any active edit mode."""
|
||||
tree_view = TreeView(root_instance)
|
||||
node1 = TreeNode(label="Node 1", type="folder")
|
||||
node2 = TreeNode(label="Node 2", type="folder")
|
||||
|
||||
|
||||
tree_view.add_node(node1)
|
||||
tree_view.add_node(node2)
|
||||
|
||||
|
||||
# Start editing node1
|
||||
tree_view._start_rename(node1.id)
|
||||
assert tree_view._state.editing == node1.id
|
||||
|
||||
|
||||
# Select node2
|
||||
tree_view._select_node(node2.id)
|
||||
|
||||
|
||||
# Edit mode should be cancelled
|
||||
assert tree_view._state.editing is None
|
||||
assert tree_view._state.selected == node2.id
|
||||
|
||||
|
||||
def test_selecting_same_editing_node_cancels_edit_mode(self, root_instance):
|
||||
"""Test that selecting the same node being edited cancels edit mode."""
|
||||
tree_view = TreeView(root_instance)
|
||||
node = TreeNode(label="Node", type="folder")
|
||||
|
||||
|
||||
tree_view.add_node(node)
|
||||
|
||||
|
||||
# Start editing the node
|
||||
tree_view._start_rename(node.id)
|
||||
assert tree_view._state.editing == node.id
|
||||
|
||||
|
||||
# Select the same node
|
||||
tree_view._select_node(node.id)
|
||||
|
||||
|
||||
# Edit mode should be cancelled
|
||||
assert tree_view._state.editing is None
|
||||
assert tree_view._state.selected == node.id
|
||||
|
||||
Reference in New Issue
Block a user