fix tests

This commit is contained in:
Tim Bentley 2017-01-31 19:07:54 +00:00
parent bd5dfe920b
commit a5c9ded757

View File

@ -22,36 +22,53 @@
""" """
Package to test the openlp.core.ui.firsttimeform package. Package to test the openlp.core.ui.firsttimeform package.
""" """
from unittest.mock import patch from unittest import TestCase
from openlp.core.ui.aboutform import AboutForm from openlp.core.ui.aboutform import AboutForm
from tests.functional import patch
@patch('openlp.core.ui.aboutform.get_application_version') from tests.helpers.testmixin import TestMixin
def test_create_about_form(mocked_get_application_version):
"""
Test creating an about form
"""
# GIVEN: An application version with a build number
mocked_get_application_version.return_value = {'version': '3.1.1', 'build': '3000'}
# WHEN: The about form is created
about_form = AboutForm(None)
# THEN: The correct version information should be in the dialog
assert 'OpenLP 3.1.1 build 3000' in about_form.about_text_edit.toPlainText()
@patch('openlp.core.ui.aboutform.webbrowser') class TestAboutForm(TestCase, TestMixin):
def test_on_volunteer_button_clicked(mocked_webbrowser):
"""
Test that clicking on the "Volunteer" button opens a web page.
"""
# GIVEN: A new About dialog and a mocked out webbrowser module
about_form = AboutForm(None)
# WHEN: The "Volunteer" button is "clicked" @patch('openlp.core.ui.aboutform.get_application_version')
about_form.on_volunteer_button_clicked() def test_create_about_form(self, mocked_get_application_version):
"""
Test creating an about form
"""
# GIVEN: An application version with a build number
mocked_get_application_version.return_value = {'version': '3.1.1', 'build': '3000'}
# THEN: A web browser is opened # WHEN: The about form is created
mocked_webbrowser.open_new.assert_called_with('http://openlp.org/en/contribute') about_form = AboutForm(None)
# THEN: The correct version information should be in the dialog
assert 'OpenLP 3.1.1 build 3000' in about_form.about_text_edit.toPlainText()
@patch('openlp.core.ui.aboutform.webbrowser')
def test_on_volunteer_button_clicked(self, mocked_webbrowser):
"""
Test that clicking on the "Volunteer" button opens a web page.
"""
# GIVEN: A new About dialog and a mocked out webbrowser module
about_form = AboutForm(None)
# WHEN: The "Volunteer" button is "clicked"
about_form.on_volunteer_button_clicked()
# THEN: A web browser is opened
mocked_webbrowser.open_new.assert_called_with('http://openlp.org/en/contribute')
def test_about_form_date_test(self):
"""
Test that the copyright date is included correctly
"""
# GIVEN: A correct application date
# WHEN: The about form is created
about_form = AboutForm(None)
license_text = about_form.license_text_edit.toPlainText()
# THEN: The date should be in the text twice.
self.assertTrue(license_text.count('2017', 0) == 2,
"The text string should be added twice to the license string")