From 748eb9cd0bc8ff124cb15197a6c42c570af78ec6 Mon Sep 17 00:00:00 2001 From: Philip Ridout Date: Sat, 13 May 2017 08:05:44 +0100 Subject: [PATCH] Fix up test --- .../openlp_core_ui/test_themeform.py | 69 ++++--------------- 1 file changed, 15 insertions(+), 54 deletions(-) diff --git a/tests/functional/openlp_core_ui/test_themeform.py b/tests/functional/openlp_core_ui/test_themeform.py index a7637f574..295355df3 100644 --- a/tests/functional/openlp_core_ui/test_themeform.py +++ b/tests/functional/openlp_core_ui/test_themeform.py @@ -34,60 +34,21 @@ class TestThemeManager(TestCase): """ Test the functions in the ThemeManager Class """ - def test_select_image_file_dialog_cancelled(self): - """ - Test the select image file dialog when the user presses cancel - """ - # GIVEN: An instance of Theme Form and mocked QFileDialog which returns an empty string (similating a user - # pressing cancel) - with patch('openlp.core.ui.ThemeForm._setup'),\ - patch('openlp.core.ui.themeform.get_images_filter', - **{'return_value': 'Image Files (*.bmp; *.gif)(*.bmp *.gif)'}),\ - patch('openlp.core.ui.themeform.QtWidgets.QFileDialog.getOpenFileName', - **{'return_value': ('', '')}) as mocked_get_open_file_name,\ - patch('openlp.core.ui.themeform.translate', **{'return_value': 'Translated String'}),\ - patch('openlp.core.ui.ThemeForm.set_background_page_values') as mocked_set_background_page_values: - instance = ThemeForm(None) - mocked_image_file_edit = MagicMock() - mocked_image_file_edit.text.return_value = '/original_path/file.ext' - instance.image_path_edit = mocked_image_file_edit + def setUp(self): + with patch('openlp.core.ui.ThemeForm._setup'): + self.instance = ThemeForm(None) - # WHEN: on_image_browse_button is clicked - instance.on_image_path_edit_path_changed() + def test_on_image_path_edit_path_changed(self): + """ + Test the `image_path_edit.pathChanged` handler + """ + # GIVEN: An instance of Theme Form + with patch.object(self.instance, 'set_background_page_values') as mocked_set_background_page_values: + self.instance.theme = MagicMock() - # THEN: The QFileDialog getOpenFileName and set_background_page_values moethods should have been called - # with known arguments - mocked_get_open_file_name.assert_called_once_with(instance, 'Translated String', '/original_path/file.ext', - 'Image Files (*.bmp; *.gif)(*.bmp *.gif);;' - 'All Files (*.*)') + # WHEN: `on_image_path_edit_path_changed` is clicked + self.instance.on_image_path_edit_path_changed('/new/pat.h') + + # THEN: The theme background file should be set and `set_background_page_values` should have been called + self.assertEqual(self.instance.theme.background_filename, '/new/pat.h') mocked_set_background_page_values.assert_called_once_with() - - def test_select_image_file_dialog_new_file(self): - """ - Test the select image file dialog when the user presses ok - """ - # GIVEN: An instance of Theme Form and mocked QFileDialog which returns a file path - with patch('openlp.core.ui.ThemeForm._setup'),\ - patch('openlp.core.ui.themeform.get_images_filter', - **{'return_value': 'Image Files (*.bmp; *.gif)(*.bmp *.gif)'}),\ - patch('openlp.core.ui.themeform.QtWidgets.QFileDialog.getOpenFileName', - **{'return_value': ('/new_path/file.ext', '')}) as mocked_get_open_file_name,\ - patch('openlp.core.ui.themeform.translate', **{'return_value': 'Translated String'}),\ - patch('openlp.core.ui.ThemeForm.set_background_page_values') as mocked_background_page_values: - instance = ThemeForm(None) - mocked_image_file_edit = MagicMock() - mocked_image_file_edit.text.return_value = '/original_path/file.ext' - instance.image_path_edit = mocked_image_file_edit - instance.theme = MagicMock() - - # WHEN: on_image_browse_button is clicked - instance.on_image_path_edit_path_changed() - - # THEN: The QFileDialog getOpenFileName and set_background_page_values moethods should have been called - # with known arguments and theme.background_filename should be set - mocked_get_open_file_name.assert_called_once_with(instance, 'Translated String', '/original_path/file.ext', - 'Image Files (*.bmp; *.gif)(*.bmp *.gif);;' - 'All Files (*.*)') - self.assertEqual(instance.theme.background_filename, '/new_path/file.ext', - 'theme.background_filename should be set to the path that the file dialog returns') - mocked_background_page_values.assert_called_once_with()