add tests

This commit is contained in:
Tim Bentley 2016-09-08 06:06:36 +01:00
parent b3f397901a
commit 8f94d10c8d
2 changed files with 73 additions and 3 deletions

View File

@ -169,7 +169,7 @@ class SongsPlugin(Plugin):
triggers=self.on_tools_find_duplicates_triggered, can_shortcuts=True)
self.tools_report_song_list = create_action(
tools_menu, 'ReportSongList',
text=translate('SongsPlugin', 'Export List on Songs'),
text=translate('SongsPlugin', 'Export List of Songs'),
statustip=translate('SongsPlugin', 'Produce a CSV file of all the songs in the database.'),
triggers=self.on_tools_report_song_list_triggered)
@ -345,13 +345,13 @@ class SongsPlugin(Plugin):
self.manager.finalise()
self.song_import_item.setVisible(False)
self.song_export_item.setVisible(False)
self.tools_reindex_item.setVisible(False)
self.tools_find_duplicates.setVisible(False)
action_list = ActionList.get_instance()
action_list.remove_action(self.song_import_item, UiStrings().Import)
action_list.remove_action(self.song_export_item, UiStrings().Export)
action_list.remove_action(self.tools_reindex_item, UiStrings().Tools)
action_list.remove_action(self.tools_find_duplicates, UiStrings().Tools)
action_list.add_action(self.tools_report_song_list, UiStrings().Tools)
self.song_tools_menu.menuAction().setVisible(False)
super(SongsPlugin, self).finalise()
def new_service_created(self):

View File

@ -28,6 +28,7 @@ from unittest import TestCase
import PyQt5
from openlp.core.common import Registry, ThemeLevel
from openlp.core.ui.lib.toolbar import OpenLPToolbar
from openlp.core.lib import ServiceItem, ServiceItemType, ItemCapabilities
from openlp.core.ui import ServiceManager
@ -679,3 +680,72 @@ class TestServiceManager(TestCase):
# THEN: The "save_as" method is called to save the service
self.assertTrue(result)
mocked_save_file_as.assert_called_with()
@patch(u'openlp.core.ui.servicemanager.ServiceManager.regenerate_service_items')
def test_theme_change_global(self, mocked_regenerate_service_items):
"""
Test that when a Toolbar theme combobox displays correctly
"""
# GIVEN: A service manager, a service to save with a theme level of the renderer
mocked_renderer = MagicMock()
service_manager = ServiceManager(None)
Registry().register('renderer', mocked_renderer)
service_manager.toolbar = OpenLPToolbar(None)
service_manager.toolbar.add_toolbar_action('theme_combo_box', triggers=MagicMock())
service_manager.toolbar.add_toolbar_action('theme_label', triggers=MagicMock())
# WHEN: The service manager has a Global theme
mocked_renderer.theme_level = ThemeLevel.Global
result = service_manager.theme_change()
# THEN: The the theme toolbar should not be visible
self.assertFalse(service_manager.toolbar.actions['theme_combo_box'].isVisible(),
'The visibility should be False')
@patch(u'openlp.core.ui.servicemanager.ServiceManager.regenerate_service_items')
def test_theme_change_service(self, mocked_regenerate_service_items):
"""
Test that when a Toolbar theme combobox displays correctly
"""
# GIVEN: A service manager, a service to save with a theme level of the renderer
mocked_renderer = MagicMock()
service_manager = ServiceManager(None)
Registry().register('renderer', mocked_renderer)
service_manager.toolbar = OpenLPToolbar(None)
service_manager.toolbar.add_toolbar_action('theme_combo_box', triggers=MagicMock())
service_manager.toolbar.add_toolbar_action('theme_label', triggers=MagicMock())
# WHEN: The service manager has a Global theme
mocked_renderer.theme_level = ThemeLevel.Service
result = service_manager.theme_change()
# THEN: The the theme toolbar should not be visible
self.assertTrue(service_manager.toolbar.actions['theme_combo_box'].isVisible(),
'The visibility should be True')
@patch(u'openlp.core.ui.servicemanager.ServiceManager.regenerate_service_items')
def test_theme_change_song(self, mocked_regenerate_service_items):
"""
Test that when a Toolbar theme combobox displays correctly
"""
# GIVEN: A service manager, a service to save with a theme level of the renderer
mocked_renderer = MagicMock()
service_manager = ServiceManager(None)
Registry().register('renderer', mocked_renderer)
service_manager.toolbar = OpenLPToolbar(None)
service_manager.toolbar.add_toolbar_action('theme_combo_box', triggers=MagicMock())
service_manager.toolbar.add_toolbar_action('theme_label', triggers=MagicMock())
# WHEN: The service manager has a Global theme
mocked_renderer.theme_level = ThemeLevel.Song
result = service_manager.theme_change()
# THEN: The the theme toolbar should not be visible
self.assertTrue(service_manager.toolbar.actions['theme_combo_box'].isVisible(),
'The visibility should be True')