Skip to content

Commit d476c13

Browse files
Fix failing unit tests (#106)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent e400a09 commit d476c13

4 files changed

+62
-47
lines changed

eqt/ui/SessionDialogs.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,13 @@ def __init__(self, parent=None, app_name=None):
6969

7070
self.app_name = app_name
7171

72+
if app_name is not None:
73+
app_name_label = ' ' + app_name
74+
else:
75+
app_name_label = ''
76+
7277
label_text = ("Select a session directory to save and retrieve all"
73-
f" {app_name or ''} Sessions:")
78+
f"{app_name_label} Sessions:")
7479

7580
self.addSpanningWidget(QLabel(label_text), 'select_session_directory')
7681

test/dialog_example_2_test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def openFormDialog(self):
5656
# store a reference
5757
self.dialog = dialog
5858

59-
dialog.exec()
59+
dialog.open()
6060

6161
def accepted(self):
6262
print("accepted")

test/test_MainWindowWithSessionManagement.py

+1-45
Original file line numberDiff line numberDiff line change
@@ -228,57 +228,13 @@ def tearDown(self):
228228
shutil.rmtree("Test Folder")
229229

230230

231-
@skip_ci
232-
class TestMainWindowWithSessionManagementCreateLoadSessionDialog(unittest.TestCase):
233-
'''
234-
Tests the createLoadSessionDialog method of the MainWindowWithSessionManagement class
235-
236-
This method is responsible for creating the load session dialog
237-
and populating it with the available sessions
238-
'''
239-
def setUp(self):
240-
self.title = "title"
241-
self.app_name = "app_name"
242-
self.smw = MainWindowWithSessionManagement(self.title, self.app_name)
243-
self.smw.sessions_directory = mock.MagicMock()
244-
self.zip_folders = ["zip_folder_1", "zip_folder_2"]
245-
246-
def test_createLoadSessionDialog_populates_session_dropdown(self):
247-
dialog = self.smw.createLoadSessionDialog(self.zip_folders)
248-
assert dialog is not None
249-
assert isinstance(dialog, eqt.ui.SessionDialogs.LoadSessionDialog)
250-
select_session_combo = dialog.getWidget('select_session')
251-
assert select_session_combo is not None
252-
items_in_combo = [
253-
select_session_combo.itemText(i) for i in range(select_session_combo.count())]
254-
assert items_in_combo == self.zip_folders
255-
256-
def test_createLoadSessionDialog_connections(self):
257-
dialog = self.smw.createLoadSessionDialog(self.zip_folders)
258-
259-
self.smw.loadSessionLoad = mock.MagicMock()
260-
self.smw.selectLoadSessionsDirectorySelectedInSessionSelector = mock.MagicMock()
261-
self.smw.loadSessionNew = mock.MagicMock()
262-
263-
dialog = self.smw.createLoadSessionDialog(self.zip_folders)
264-
265-
dialog.Ok.click()
266-
self.smw.loadSessionLoad.assert_called_once()
267-
268-
dialog.Select.click()
269-
self.smw.selectLoadSessionsDirectorySelectedInSessionSelector.assert_called_with(dialog)
270-
271-
dialog.Cancel.click()
272-
self.smw.loadSessionNew.assert_called_once()
273-
274-
275231
@skip_ci
276232
class TestSelectLoadSessionsDirectorySelectedInSessionSelector(unittest.TestCase):
277233
'''
278234
Tests the `selectLoadSessionsDirectorySelectedInSessionSelector` method of the
279235
`MainWindowWithSessionManagement` class
280236
281-
This method sould close the passed dialog, and call
237+
This method should close the passed dialog, and call
282238
`createSessionsDirectorySelectionDialog(new_session=True)`
283239
'''
284240
def setUp(self):
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import unittest
2+
from unittest import mock
3+
4+
from eqt.ui.MainWindowWithSessionManagement import MainWindowWithSessionManagement
5+
from eqt.ui.SessionDialogs import LoadSessionDialog
6+
7+
from . import skip_ci
8+
9+
# Unit tests for the MainWindowWithSessionManagement class
10+
# methods which create dialogs
11+
12+
13+
@skip_ci
14+
class TestMainWindowWithSessionManagementCreateLoadSessionDialog(unittest.TestCase):
15+
'''
16+
Tests the createLoadSessionDialog method of the MainWindowWithSessionManagement class
17+
18+
This method is responsible for creating the load session dialog
19+
and populating it with the available sessions
20+
'''
21+
def setUp(self):
22+
self.title = "title"
23+
self.app_name = "app_name"
24+
self.smw = MainWindowWithSessionManagement(self.title, self.app_name)
25+
self.smw.sessions_directory = mock.MagicMock()
26+
self.zip_folders = ["zip_folder_1", "zip_folder_2"]
27+
28+
def test_createLoadSessionDialog_populates_session_dropdown(self):
29+
dialog = self.smw.createLoadSessionDialog(self.zip_folders)
30+
assert dialog is not None
31+
assert isinstance(dialog, LoadSessionDialog)
32+
select_session_combo = dialog.getWidget('select_session')
33+
assert select_session_combo is not None
34+
items_in_combo = [
35+
select_session_combo.itemText(i) for i in range(select_session_combo.count())]
36+
assert items_in_combo == self.zip_folders
37+
38+
def test_createLoadSessionDialog_connections(self):
39+
dialog = self.smw.createLoadSessionDialog(self.zip_folders)
40+
41+
self.smw.loadSessionLoad = mock.MagicMock()
42+
self.smw.selectLoadSessionsDirectorySelectedInSessionSelector = mock.MagicMock()
43+
self.smw.loadSessionNew = mock.MagicMock()
44+
45+
dialog = self.smw.createLoadSessionDialog(self.zip_folders)
46+
47+
dialog.Ok.click()
48+
self.smw.loadSessionLoad.assert_called_once()
49+
50+
dialog.Select.click()
51+
self.smw.selectLoadSessionsDirectorySelectedInSessionSelector.assert_called_with(dialog)
52+
53+
dialog.Cancel.click()
54+
self.smw.loadSessionNew.assert_called_once()

0 commit comments

Comments
 (0)