Skip to content

Commit c96d64c

Browse files
committed
Tidied added test
1 parent e5f132a commit c96d64c

2 files changed

Lines changed: 45 additions & 8 deletions

File tree

hooks/tree_node_clicked.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,6 @@
3939

4040

4141
class TreeNodeClicked(HookBaseClass):
42-
@staticmethod
43-
def flipped_state(check_state: QtCore.Qt.CheckState) -> QtCore.Qt.CheckState:
44-
"""Flips a unchecked state to checked and any other state to unchecked."""
45-
return (
46-
QtCore.Qt.Checked
47-
if check_state == QtCore.Qt.Unchecked
48-
else QtCore.Qt.Unchecked
49-
)
5042

5143
def single(
5244
self,

tests/test_item_clicked_hook.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Copyright (c) 2026 Autodesk.
2+
#
3+
# CONFIDENTIAL AND PROPRIETARY
4+
#
5+
# This work is provided "AS IS" and subject to the ShotGrid Pipeline Toolkit
6+
# Source Code License included in this distribution package. See LICENSE.
7+
# By accessing, using, copying or modifying this work you indicate your
8+
# agreement to the ShotGrid Pipeline Toolkit Source Code License. All rights
9+
# not expressly granted therein are reserved by Autodesk.
10+
from unittest.mock import patch
11+
12+
from publish_api_test_base import PublishApiTestBase
13+
from tank_test.tank_test_base import setUpModule # noqa
14+
15+
16+
class TestItemClickedHook(PublishApiTestBase):
17+
def test_emit_item_clicked(self):
18+
tree = self.manager.tree
19+
local_plugin = self.manager._load_publish_plugins(self.manager.context)[0]
20+
tree.root_item.create_item("item", "Item", "Item").add_task(local_plugin)
21+
22+
tree_widget = self.PublishTreeWidget(None)
23+
tree_widget.set_publish_manager(self.manager)
24+
tree_widget.build_tree()
25+
26+
from sgtk.platform.qt import QtCore
27+
28+
column = 0
29+
tree_item = tree_widget.topLevelItem(1).child(0)
30+
expected_kwargs = {
31+
"node": tree_item,
32+
"widget": tree_widget.itemWidget(tree_item, column),
33+
"api": tree_item.get_publish_instance(),
34+
"buttons": QtCore.Qt.NoButton,
35+
"modifiers": QtCore.Qt.NoModifier,
36+
}
37+
with patch.object(tree_widget._bundle, "execute_hook_method") as mocked_execute:
38+
tree_widget.itemClicked.emit(tree_item, column)
39+
mocked_execute.assert_called_with(
40+
"tree_node_clicked", "single", **expected_kwargs
41+
)
42+
tree_widget.itemDoubleClicked.emit(tree_item, column)
43+
mocked_execute.assert_called_with(
44+
"tree_node_clicked", "double", **expected_kwargs
45+
)

0 commit comments

Comments
 (0)