mirror of
https://gitlab.com/openlp/openlp.git
synced 2024-09-28 10:57:36 +00:00
Merge branch 'openlp-servicemanager-newtests-2022-02-25' into 'master'
Add a few tests for service manager See merge request openlp/openlp!494
This commit is contained in:
commit
b6a4dab45c
@ -1267,6 +1267,83 @@ def test_load_service_modified_saved_with_file_path(registry):
|
||||
service_manager.load_file.assert_called_once_with(Path.home() / 'service.osz')
|
||||
|
||||
|
||||
@patch('openlp.core.ui.servicemanager.FileDialog.getOpenFileName')
|
||||
def test_load_service_no_file_path_passed_or_selected(mocked_get_open_file_name, mock_settings):
|
||||
"""Test that the load_service() method exits early when no file is passed and no file is selected in the dialog"""
|
||||
# GIVEN: A modified ServiceManager
|
||||
service_manager = ServiceManager(None)
|
||||
mocked_get_open_file_name.return_value = (None, None)
|
||||
|
||||
# WHEN: A service is loaded
|
||||
result = service_manager.load_service()
|
||||
|
||||
# THEN: The result should be False because of an early exit
|
||||
assert result is False, 'The method did not exit early'
|
||||
|
||||
|
||||
@patch('openlp.core.ui.servicemanager.FileDialog.getOpenFileName')
|
||||
def test_load_service_no_file_path_passed_file_selected(mocked_get_open_file_name, mock_settings):
|
||||
"""Test that the load_service() method loads a file chosen in the dialog when no file is passed"""
|
||||
# GIVEN: A modified ServiceManager
|
||||
service_manager = ServiceManager(None)
|
||||
mocked_get_open_file_name.return_value = (Path.home() / 'service.osz', None)
|
||||
service_manager.load_file = MagicMock()
|
||||
|
||||
# WHEN: A service is loaded
|
||||
service_manager.load_service()
|
||||
|
||||
# THEN: The service should be loaded
|
||||
service_manager.load_file.assert_called_once_with(Path.home() / 'service.osz')
|
||||
|
||||
|
||||
def test_on_recent_service_clicked_modified_cancel_save(registry):
|
||||
"""Test that the on_recent_service_clicked() method exits early when the service is modified,
|
||||
but the save is canceled"""
|
||||
# GIVEN: A modified ServiceManager
|
||||
service_manager = ServiceManager(None)
|
||||
service_manager.is_modified = MagicMock(return_value=True)
|
||||
service_manager.save_modified_service = MagicMock(return_value=QtWidgets.QMessageBox.Cancel)
|
||||
|
||||
# WHEN: on_recent_service_clicked is called
|
||||
result = service_manager.on_recent_service_clicked(True)
|
||||
|
||||
# THEN: The result should be False because of an early exit
|
||||
assert result is False, 'The method did not exit early'
|
||||
|
||||
|
||||
def test_on_recent_service_clicked_modified_saved_with_file_path(registry):
|
||||
"""Test that the on_recent_service_clicked() method saves the file and loads the file"""
|
||||
# GIVEN: A modified ServiceManager
|
||||
mocked_settings = MagicMock()
|
||||
registry.register('settings', mocked_settings)
|
||||
service_manager = ServiceManager(None)
|
||||
service_manager.is_modified = MagicMock(return_value=True)
|
||||
service_manager.save_modified_service = MagicMock(return_value=QtWidgets.QMessageBox.Save)
|
||||
service_manager.decide_save_method = MagicMock()
|
||||
service_manager.load_file = MagicMock()
|
||||
service_manager.sender = MagicMock(return_value=MagicMock())
|
||||
|
||||
# WHEN: on_recent_service_clicked is called
|
||||
service_manager.on_recent_service_clicked(True)
|
||||
|
||||
# THEN: The recent service should be loaded
|
||||
service_manager.decide_save_method.assert_called_once_with()
|
||||
service_manager.load_file.assert_called_once()
|
||||
|
||||
|
||||
def test_on_recent_service_clicked_unmodified(registry):
|
||||
# GIVEN: A modified ServiceManager
|
||||
service_manager = ServiceManager(None)
|
||||
service_manager.load_file = MagicMock()
|
||||
service_manager.sender = MagicMock(return_value=MagicMock())
|
||||
|
||||
# WHEN: on_recent_service_clicked is called
|
||||
service_manager.on_recent_service_clicked(True)
|
||||
|
||||
# THEN: The recent service should be loaded
|
||||
service_manager.load_file.assert_called_once()
|
||||
|
||||
|
||||
@patch('openlp.core.ui.servicemanager.Path', autospec=True)
|
||||
def test_service_manager_load_file_str(MockPath, registry):
|
||||
"""Test the service manager's load_file method when it is given a str"""
|
||||
|
Loading…
Reference in New Issue
Block a user