Improve test coverage
This commit is contained in:
@@ -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()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user