Improve test coverage

This commit is contained in:
Veronica Berglyd Olsen
2024-07-21 19:45:40 +02:00
parent 17b3b2b770
commit 5936e1a68b
+21 -1
View File
@@ -39,6 +39,7 @@ from novelwriter.gui.outline import GuiOutlineView
from novelwriter.gui.projtree import GuiProjectTree from novelwriter.gui.projtree import GuiProjectTree
from novelwriter.tools.welcome import GuiWelcome from novelwriter.tools.welcome import GuiWelcome
from tests.mocked import causeOSError
from tests.tools import NWD_IGNORE, XML_IGNORE, C, buildTestProject, cmpFiles from tests.tools import NWD_IGNORE, XML_IGNORE, C, buildTestProject, cmpFiles
KEY_DELAY = 1 KEY_DELAY = 1
@@ -651,7 +652,7 @@ def testGuiMain_Viewing(qtbot, monkeypatch, nwGUI, projPath, mockRnd):
@pytest.mark.gui @pytest.mark.gui
def testGuiMain_Features(qtbot, nwGUI, projPath, mockRnd): def testGuiMain_Features(qtbot, monkeypatch, nwGUI, projPath, mockRnd):
"""Test various features of the main window.""" """Test various features of the main window."""
buildTestProject(nwGUI, projPath) buildTestProject(nwGUI, projPath)
assert SHARED.focusMode is False assert SHARED.focusMode is False
@@ -672,6 +673,7 @@ def testGuiMain_Features(qtbot, nwGUI, projPath, mockRnd):
# Enable focus mode # Enable focus mode
nwGUI.toggleFocusMode() nwGUI.toggleFocusMode()
assert SHARED.focusMode is True
assert nwGUI.treePane.isVisible() is False assert nwGUI.treePane.isVisible() is False
assert nwGUI.mainStatus.isVisible() is False assert nwGUI.mainStatus.isVisible() is False
assert nwGUI.mainMenu.isVisible() is False assert nwGUI.mainMenu.isVisible() is False
@@ -680,12 +682,19 @@ def testGuiMain_Features(qtbot, nwGUI, projPath, mockRnd):
# Disable focus mode # Disable focus mode
nwGUI.toggleFocusMode() nwGUI.toggleFocusMode()
assert SHARED.focusMode is False
assert nwGUI.treePane.isVisible() is True assert nwGUI.treePane.isVisible() is True
assert nwGUI.mainStatus.isVisible() is True assert nwGUI.mainStatus.isVisible() is True
assert nwGUI.mainMenu.isVisible() is True assert nwGUI.mainMenu.isVisible() is True
assert nwGUI.sideBar.isVisible() is True assert nwGUI.sideBar.isVisible() is True
assert nwGUI.splitView.isVisible() is True assert nwGUI.splitView.isVisible() is True
# Closing editor disables focus mode
nwGUI.toggleFocusMode()
assert SHARED.focusMode is True
nwGUI.closeDocument()
assert SHARED.focusMode is False
# Full Screen Mode # Full Screen Mode
# ================ # ================
@@ -702,6 +711,17 @@ def testGuiMain_Features(qtbot, nwGUI, projPath, mockRnd):
nwGUI.sideBar.mSettings.show() nwGUI.sideBar.mSettings.show()
nwGUI.sideBar.mSettings.hide() nwGUI.sideBar.mSettings.hide()
# Document Open Errors
# ====================
# Cannot edit a folder
assert nwGUI.openDocument(C.hChapterDir) is False
# Handle I/O error
with monkeypatch.context() as mp:
mp.setattr("builtins.open", causeOSError)
assert nwGUI.openDocument(C.hChapterDoc) is False
# qtbot.stop() # qtbot.stop()