forked from openlp/openlp
added test
This commit is contained in:
parent
8b4b7a6d0f
commit
906c090e8d
@ -3,11 +3,11 @@
|
||||
"""
|
||||
|
||||
from unittest import TestCase
|
||||
from mock import MagicMock, patch
|
||||
from mock import MagicMock, Mock, patch
|
||||
|
||||
from PyQt4 import QtGui
|
||||
|
||||
from openlp.core.lib import Registry, ScreenList
|
||||
from openlp.core.lib import Registry, ScreenList, ServiceItem
|
||||
from openlp.core.ui.mainwindow import MainWindow
|
||||
|
||||
|
||||
@ -42,3 +42,44 @@ class TestServiceManager(TestCase):
|
||||
# THEN the count of items should be zero
|
||||
self.assertEqual(self.service_manager.service_manager_list.topLevelItemCount(), 0,
|
||||
u'The service manager list should be empty ')
|
||||
|
||||
def context_menu_test(self):
|
||||
"""
|
||||
Test the context_menu() method.
|
||||
"""
|
||||
# GIVEN: A service item added
|
||||
with patch(u'PyQt4.QtGui.QTreeWidget.itemAt') as mocked_item_at_method, \
|
||||
patch(u'PyQt4.QtGui.QWidget.mapToGlobal') as mocked_map_to_global, \
|
||||
patch(u'PyQt4.QtGui.QMenu.exec_') as mocked_exec:
|
||||
mocked_item = MagicMock()
|
||||
mocked_item.parent.return_value = None
|
||||
mocked_item_at_method.return_value = mocked_item
|
||||
# We want 1 to be returned for the position
|
||||
mocked_item.data.return_value = 1
|
||||
# A service item without capabilities.
|
||||
service_item = ServiceItem()
|
||||
self.service_manager.service_items = [{u'service_item': service_item}]
|
||||
q_point = None
|
||||
# Mocked actions.
|
||||
self.service_manager.edit_action.setVisible = Mock()
|
||||
self.service_manager.create_custom_action.setVisible = Mock()
|
||||
self.service_manager.maintain_action.setVisible = Mock()
|
||||
self.service_manager.notes_action.setVisible = Mock()
|
||||
self.service_manager.time_action.setVisible = Mock()
|
||||
self.service_manager.auto_start_action.setVisible = Mock()
|
||||
|
||||
# WHEN: Show the context menu.
|
||||
self.service_manager.context_menu(q_point)
|
||||
|
||||
# THEN: The following actions should be not visible.
|
||||
self.service_manager.edit_action.setVisible.assert_called_once_with(False), \
|
||||
u'The action should be set invisible.'
|
||||
self.service_manager.create_custom_action.setVisible.assert_called_with(False), \
|
||||
u'The action should be set invisible.'
|
||||
self.service_manager.maintain_action.setVisible.assert_called_with(False), \
|
||||
u'The action should be set invisible.'
|
||||
self.service_manager.notes_action.setVisible.assert_called_with(True), u'The action should be set visible.'
|
||||
self.service_manager.time_action.setVisible.assert_called_with(False), \
|
||||
u'The action should be set invisible.'
|
||||
self.service_manager.auto_start_action.setVisible.assert_called_with(False), \
|
||||
u'The action should be set invisible.'
|
||||
|
Loading…
Reference in New Issue
Block a user