diff --git a/eqt/ui/SessionDialogs.py b/eqt/ui/SessionDialogs.py index 71c44e9..cf5a35d 100644 --- a/eqt/ui/SessionDialogs.py +++ b/eqt/ui/SessionDialogs.py @@ -69,8 +69,13 @@ def __init__(self, parent=None, app_name=None): self.app_name = app_name + if app_name is not None: + app_name_label = ' ' + app_name + else: + app_name_label = '' + label_text = ("Select a session directory to save and retrieve all" - f" {app_name or ''} Sessions:") + f"{app_name_label} Sessions:") self.addSpanningWidget(QLabel(label_text), 'select_session_directory') diff --git a/test/dialog_example_2_test.py b/test/dialog_example_2_test.py index 1bacc34..d15e7f1 100644 --- a/test/dialog_example_2_test.py +++ b/test/dialog_example_2_test.py @@ -56,7 +56,7 @@ def openFormDialog(self): # store a reference self.dialog = dialog - dialog.exec() + dialog.open() def accepted(self): print("accepted") diff --git a/test/test_MainWindowWithSessionManagement.py b/test/test_MainWindowWithSessionManagement.py index c5f0365..777014c 100644 --- a/test/test_MainWindowWithSessionManagement.py +++ b/test/test_MainWindowWithSessionManagement.py @@ -228,57 +228,13 @@ def tearDown(self): shutil.rmtree("Test Folder") -@skip_ci -class TestMainWindowWithSessionManagementCreateLoadSessionDialog(unittest.TestCase): - ''' - Tests the createLoadSessionDialog method of the MainWindowWithSessionManagement class - - This method is responsible for creating the load session dialog - and populating it with the available sessions - ''' - def setUp(self): - self.title = "title" - self.app_name = "app_name" - self.smw = MainWindowWithSessionManagement(self.title, self.app_name) - self.smw.sessions_directory = mock.MagicMock() - self.zip_folders = ["zip_folder_1", "zip_folder_2"] - - def test_createLoadSessionDialog_populates_session_dropdown(self): - dialog = self.smw.createLoadSessionDialog(self.zip_folders) - assert dialog is not None - assert isinstance(dialog, eqt.ui.SessionDialogs.LoadSessionDialog) - select_session_combo = dialog.getWidget('select_session') - assert select_session_combo is not None - items_in_combo = [ - select_session_combo.itemText(i) for i in range(select_session_combo.count())] - assert items_in_combo == self.zip_folders - - def test_createLoadSessionDialog_connections(self): - dialog = self.smw.createLoadSessionDialog(self.zip_folders) - - self.smw.loadSessionLoad = mock.MagicMock() - self.smw.selectLoadSessionsDirectorySelectedInSessionSelector = mock.MagicMock() - self.smw.loadSessionNew = mock.MagicMock() - - dialog = self.smw.createLoadSessionDialog(self.zip_folders) - - dialog.Ok.click() - self.smw.loadSessionLoad.assert_called_once() - - dialog.Select.click() - self.smw.selectLoadSessionsDirectorySelectedInSessionSelector.assert_called_with(dialog) - - dialog.Cancel.click() - self.smw.loadSessionNew.assert_called_once() - - @skip_ci class TestSelectLoadSessionsDirectorySelectedInSessionSelector(unittest.TestCase): ''' Tests the `selectLoadSessionsDirectorySelectedInSessionSelector` method of the `MainWindowWithSessionManagement` class - This method sould close the passed dialog, and call + This method should close the passed dialog, and call `createSessionsDirectorySelectionDialog(new_session=True)` ''' def setUp(self): diff --git a/test/test_MainWindowWithSessionManagementDialogs.py b/test/test_MainWindowWithSessionManagementDialogs.py new file mode 100644 index 0000000..1c8bb79 --- /dev/null +++ b/test/test_MainWindowWithSessionManagementDialogs.py @@ -0,0 +1,54 @@ +import unittest +from unittest import mock + +from eqt.ui.MainWindowWithSessionManagement import MainWindowWithSessionManagement +from eqt.ui.SessionDialogs import LoadSessionDialog + +from . import skip_ci + +# Unit tests for the MainWindowWithSessionManagement class +# methods which create dialogs + + +@skip_ci +class TestMainWindowWithSessionManagementCreateLoadSessionDialog(unittest.TestCase): + ''' + Tests the createLoadSessionDialog method of the MainWindowWithSessionManagement class + + This method is responsible for creating the load session dialog + and populating it with the available sessions + ''' + def setUp(self): + self.title = "title" + self.app_name = "app_name" + self.smw = MainWindowWithSessionManagement(self.title, self.app_name) + self.smw.sessions_directory = mock.MagicMock() + self.zip_folders = ["zip_folder_1", "zip_folder_2"] + + def test_createLoadSessionDialog_populates_session_dropdown(self): + dialog = self.smw.createLoadSessionDialog(self.zip_folders) + assert dialog is not None + assert isinstance(dialog, LoadSessionDialog) + select_session_combo = dialog.getWidget('select_session') + assert select_session_combo is not None + items_in_combo = [ + select_session_combo.itemText(i) for i in range(select_session_combo.count())] + assert items_in_combo == self.zip_folders + + def test_createLoadSessionDialog_connections(self): + dialog = self.smw.createLoadSessionDialog(self.zip_folders) + + self.smw.loadSessionLoad = mock.MagicMock() + self.smw.selectLoadSessionsDirectorySelectedInSessionSelector = mock.MagicMock() + self.smw.loadSessionNew = mock.MagicMock() + + dialog = self.smw.createLoadSessionDialog(self.zip_folders) + + dialog.Ok.click() + self.smw.loadSessionLoad.assert_called_once() + + dialog.Select.click() + self.smw.selectLoadSessionsDirectorySelectedInSessionSelector.assert_called_with(dialog) + + dialog.Cancel.click() + self.smw.loadSessionNew.assert_called_once()