"Fix the toggle song usage menu item not working

Add this to your merge proposal:
--------------------------------
lp:~raoul-snyman/openlp/bug-1544263 (revision 2618)
[SUCCESS] https://ci.openlp.io/job/Branch-01-Pull/1279/
[SUCCESS] https://ci.openlp.io/job/Branch-02-Functional-Tests/1203/
[SUCCESS] https://ci.openlp.io/job/Branch-03-Interface-Tests/1142/
[FAILURE] https://ci.openlp.io/job/Branch-04a-Windows_Functional_Tests/978/
Stopping after failure"

bzr-revno: 2618
Fixes: https://launchpad.net/bugs/1544263
This commit is contained in:
raoul@snyman.info 2016-02-12 21:46:29 +02:00 committed by Raoul Snyman
commit 3676cef69f
3 changed files with 32 additions and 2 deletions

View File

@ -44,3 +44,4 @@ __pycache__
cover cover
*.kdev4 *.kdev4
coverage coverage
tags

View File

@ -118,7 +118,6 @@ class SongUsagePlugin(Plugin):
self.main_window.status_bar.insertPermanentWidget(1, self.song_usage_active_button) self.main_window.status_bar.insertPermanentWidget(1, self.song_usage_active_button)
self.song_usage_active_button.hide() self.song_usage_active_button.hide()
# Signals and slots # Signals and slots
self.song_usage_status.changed.connect(self.toggle_song_usage_state)
self.song_usage_active_button.toggled.connect(self.toggle_song_usage_state) self.song_usage_active_button.toggled.connect(self.toggle_song_usage_state)
self.song_usage_menu.menuAction().setVisible(False) self.song_usage_menu.menuAction().setVisible(False)

View File

@ -23,12 +23,23 @@
This module contains tests for the Songusage plugin. This module contains tests for the Songusage plugin.
""" """
from unittest import TestCase from unittest import TestCase
from unittest.mock import MagicMock, patch
from openlp.core import Registry
from openlp.plugins.songusage.lib import upgrade
from openlp.plugins.songusage.lib.db import init_schema
from openlp.plugins.songusage.songusageplugin import SongUsagePlugin from openlp.plugins.songusage.songusageplugin import SongUsagePlugin
class TestSongUsage(TestCase): class TestSongUsage(TestCase):
def test_about_text(self): def setUp(self):
Registry.create()
def about_text_test(self):
"""
Test the about text of the song usage plugin
"""
# GIVEN: The SongUsagePlugin # GIVEN: The SongUsagePlugin
# WHEN: Retrieving the about text # WHEN: Retrieving the about text
# THEN: about() should return a string object # THEN: about() should return a string object
@ -36,3 +47,22 @@ class TestSongUsage(TestCase):
# THEN: about() should return a non-empty string # THEN: about() should return a non-empty string
self.assertNotEquals(len(SongUsagePlugin.about()), 0) self.assertNotEquals(len(SongUsagePlugin.about()), 0)
self.assertNotEquals(len(SongUsagePlugin.about()), 0) self.assertNotEquals(len(SongUsagePlugin.about()), 0)
@patch('openlp.plugins.songusage.songusageplugin.Manager')
def song_usage_init_test(self, MockedManager):
"""
Test the initialisation of the SongUsagePlugin class
"""
# GIVEN: A mocked database manager
mocked_manager = MagicMock()
MockedManager.return_value = mocked_manager
# WHEN: The SongUsagePlugin class is instantiated
song_usage = SongUsagePlugin()
# THEN: It should be initialised correctly
MockedManager.assert_called_with('songusage', init_schema, upgrade_mod=upgrade)
self.assertEqual(mocked_manager, song_usage.manager)
self.assertFalse(song_usage.song_usage_active)