Skip to content

Commit

Permalink
Fix unittests for sendToGroups
Browse files Browse the repository at this point in the history
  • Loading branch information
roulaoregan-spi committed Apr 8, 2022
1 parent 6a69373 commit 898db17
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 15 deletions.
4 changes: 2 additions & 2 deletions cuegui/cuegui/CueJobMonitorTree.py
Original file line number Diff line number Diff line change
Expand Up @@ -865,12 +865,12 @@ def __init__(self, title, text, event_item, items, dst_groups,

self.connect(_btn_accept,
QtCore.SIGNAL("clicked()"),
self._move_items)
self.move_items)
self.connect(_btn_cancel,
QtCore.SIGNAL("clicked()"),
self.reject)

def _move_items(self):
def move_items(self):
if not self.send_to_groups:
if self.items.job_ids:
jobs = [opencue.api.getJob(id_) for id_ in self.items.job_ids]
Expand Down
47 changes: 34 additions & 13 deletions cuegui/tests/MenuActions_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -443,34 +443,55 @@ def test_unbook(self, unbookDialogMock):
unbookDialogMock.assert_called_with(jobs, self.widgetMock)
unbookDialogMock.return_value.exec_.assert_called()

@mock.patch('PySide2.QtWidgets.QInputDialog.getItem')
@mock.patch('cuegui.CueJobMonitorTree.MoveDialog.move_items')
@mock.patch('opencue.api.findShow')
def test_sendToGroup(self, findShowMock, getItemMock):
def test_sendToGroup(self, findShowMock, move_itemsMock):

move_dialogMock = mock.Mock()

move_dialogMock.open()
group_name = 'arbitrary-group-name'
job = opencue.wrappers.job.Job(
opencue.compiled_proto.job_pb2.Job(
name='arbitrary-job-name', show='arbitrary-show-name'))
show = opencue.wrappers.show.Show()
body_content = cuegui.CueJobMonitorTree.Body(group_names=[],
group_ids=[],
job_names=[job.name()],
job_ids=[job])

group = opencue.wrappers.group.Group(opencue.compiled_proto.job_pb2.Group(name=group_name))
group.reparentJobs = mock.Mock()

show = opencue.wrappers.show.Show()
findShowMock.return_value = show
show.getGroups = mock.Mock(return_value=[group])
getItemMock.return_value = (group_name, True)

self.job_actions.sendToGroup(rpcObjects=[job])
move_dialogMock.dst_groups = {str(group_name): group}
move_itemsMock.return_value = move_dialogMock.dst_groups[str(group_name)].reparentJobs(
body_content.job_ids)
move_dialogMock.accept()

group.reparentJobs.assert_called_with([job])
group.reparentJobs.assert_called_with(body_content.job_ids)

@mock.patch('PySide2.QtWidgets.QInputDialog.getItem')
@mock.patch('cuegui.CueJobMonitorTree.MoveDialog.move_items')
@mock.patch('opencue.api.findShow')
def test_sendToGroupCanceled(self, findShowMock, getItemMock):
job = opencue.wrappers.job.Job(opencue.compiled_proto.job_pb2.Job(name='job-name'))
group = opencue.wrappers.group.Group()
def test_sendToGroupCanceled(self, findShowMock, move_itemsMock):

move_dialogMock = mock.Mock()

move_dialogMock.open()
group_name = 'arbitrary-group-name'
job = opencue.wrappers.job.Job(
opencue.compiled_proto.job_pb2.Job(
name='arbitrary-job-name', show='arbitrary-show-name'))
group = opencue.wrappers.group.Group(opencue.compiled_proto.job_pb2.Group(name=group_name))
group.reparentJobs = mock.Mock()
findShowMock.getGroups.return_value = []
getItemMock.return_value = (None, False)

self.job_actions.sendToGroup(rpcObjects=[job])
show = opencue.wrappers.show.Show()
findShowMock.return_value = show
show.getGroups = mock.Mock(return_value=[group])
move_itemsMock.return_value = (None, False)
move_dialogMock.reject()

group.reparentJobs.assert_not_called()

Expand Down

0 comments on commit 898db17

Please sign in to comment.