Clean up top level window access and add coverage to shared data class
This commit is contained in:
@@ -25,7 +25,6 @@ import enchant
|
||||
|
||||
from zipfile import ZipFile
|
||||
|
||||
from tools import getGuiItem
|
||||
from mocked import causeException
|
||||
|
||||
from PyQt5.QtGui import QDesktopServices
|
||||
@@ -48,9 +47,9 @@ def testToolDictionaries_Main(qtbot, monkeypatch, nwGUI, fncPath):
|
||||
|
||||
# Open the tool
|
||||
nwGUI.showDictionariesDialog()
|
||||
qtbot.waitUntil(lambda: getGuiItem("GuiDictionaries") is not None, timeout=1000)
|
||||
qtbot.waitUntil(lambda: SHARED.findTopLevelWidget(GuiDictionaries) is not None, timeout=1000)
|
||||
|
||||
nwDicts = getGuiItem("GuiDictionaries")
|
||||
nwDicts = SHARED.findTopLevelWidget(GuiDictionaries)
|
||||
assert isinstance(nwDicts, GuiDictionaries)
|
||||
assert nwDicts.isVisible()
|
||||
assert nwDicts.inPath.text() == str(fncPath)
|
||||
|
||||
@@ -22,10 +22,11 @@ from __future__ import annotations
|
||||
|
||||
import pytest
|
||||
|
||||
from tools import C, getGuiItem, buildTestProject
|
||||
from tools import C, buildTestProject
|
||||
|
||||
from PyQt5.QtWidgets import QAction
|
||||
|
||||
from novelwriter import SHARED
|
||||
from novelwriter.tools.lipsum import GuiLipsum
|
||||
|
||||
|
||||
@@ -34,7 +35,7 @@ def testToolLipsum_Main(qtbot, monkeypatch, nwGUI, projPath, mockRnd):
|
||||
"""Test the Lorem Ipsum tool."""
|
||||
# Check that we cannot open when there is no project
|
||||
nwGUI.mainMenu.aLipsumText.activate(QAction.Trigger)
|
||||
assert getGuiItem("GuiLipsum") is None
|
||||
assert SHARED.findTopLevelWidget(GuiLipsum) is None
|
||||
|
||||
buildTestProject(nwGUI, projPath)
|
||||
nwLipsum = GuiLipsum(nwGUI)
|
||||
|
||||
@@ -26,7 +26,7 @@ import pytest
|
||||
from pathlib import Path
|
||||
from pytestqt.qtbot import QtBot
|
||||
|
||||
from tools import C, buildTestProject, getGuiItem
|
||||
from tools import C, buildTestProject
|
||||
from mocked import causeOSError
|
||||
|
||||
from PyQt5.QtCore import Qt, pyqtSlot
|
||||
@@ -50,8 +50,8 @@ def testManuscript_Init(monkeypatch, qtbot: QtBot, nwGUI: GuiMain, projPath: Pat
|
||||
allText = "New Novel\nBy Jane Doe\nA Chapter\n\t\tHi\n* * *"
|
||||
|
||||
nwGUI.mainMenu.aBuildManuscript.activate(QAction.Trigger)
|
||||
qtbot.waitUntil(lambda: getGuiItem("GuiManuscript") is not None, timeout=1000)
|
||||
manus = getGuiItem("GuiManuscript")
|
||||
qtbot.waitUntil(lambda: SHARED.findTopLevelWidget(GuiManuscript) is not None, timeout=1000)
|
||||
manus = SHARED.findTopLevelWidget(GuiManuscript)
|
||||
assert isinstance(manus, GuiManuscript)
|
||||
manus.show()
|
||||
assert manus.docPreview.toPlainText().strip() == ""
|
||||
@@ -104,7 +104,7 @@ def testManuscript_Builds(qtbot: QtBot, nwGUI: GuiMain, projPath: Path):
|
||||
|
||||
# Create a new build
|
||||
manus.tbAdd.click()
|
||||
bSettings = getGuiItem("GuiBuildSettings")
|
||||
bSettings = SHARED.findTopLevelWidget(GuiBuildSettings)
|
||||
assert isinstance(bSettings, GuiBuildSettings)
|
||||
bSettings.editBuildName.setText("Test Build")
|
||||
build = None
|
||||
@@ -127,7 +127,7 @@ def testManuscript_Builds(qtbot: QtBot, nwGUI: GuiMain, projPath: Path):
|
||||
manus.buildList.setCurrentRow(0)
|
||||
manus.tbEdit.click()
|
||||
|
||||
bSettings = getGuiItem("GuiBuildSettings")
|
||||
bSettings = SHARED.findTopLevelWidget(GuiBuildSettings)
|
||||
assert isinstance(bSettings, GuiBuildSettings)
|
||||
build = None
|
||||
|
||||
|
||||
@@ -22,8 +22,6 @@ from __future__ import annotations
|
||||
|
||||
import pytest
|
||||
|
||||
from tools import getGuiItem
|
||||
|
||||
from PyQt5.QtWidgets import QAction
|
||||
|
||||
from novelwriter import SHARED
|
||||
@@ -49,8 +47,8 @@ def testToolNovelDetails_Main(qtbot, nwGUI, prjLipsum, ipsumText):
|
||||
|
||||
# Create the dialog
|
||||
nwGUI.mainMenu.aNovelDetails.activate(QAction.ActionEvent.Trigger)
|
||||
qtbot.waitUntil(lambda: getGuiItem("GuiNovelDetails") is not None, timeout=1000)
|
||||
details = getGuiItem("GuiNovelDetails")
|
||||
qtbot.waitUntil(lambda: SHARED.findTopLevelWidget(GuiNovelDetails) is not None, timeout=1000)
|
||||
details = SHARED.findTopLevelWidget(GuiNovelDetails)
|
||||
assert isinstance(details, GuiNovelDetails)
|
||||
|
||||
# Overview Page
|
||||
|
||||
@@ -25,7 +25,7 @@ import pytest
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
from tools import getGuiItem, buildTestProject
|
||||
from tools import buildTestProject
|
||||
from mocked import causeOSError
|
||||
|
||||
from PyQt5.QtCore import Qt
|
||||
@@ -38,8 +38,7 @@ from novelwriter.tools.writingstats import GuiWritingStats
|
||||
|
||||
@pytest.mark.gui
|
||||
def testToolWritingStats_Main(qtbot, monkeypatch, nwGUI, projPath, tstPaths):
|
||||
"""Test the full writing stats tool.
|
||||
"""
|
||||
"""Test the full writing stats tool."""
|
||||
# Create a project to work on
|
||||
buildTestProject(nwGUI, projPath)
|
||||
project = SHARED.project
|
||||
@@ -50,9 +49,9 @@ def testToolWritingStats_Main(qtbot, monkeypatch, nwGUI, projPath, tstPaths):
|
||||
|
||||
# Open the Writing Stats dialog
|
||||
nwGUI.mainMenu.aWritingStats.activate(QAction.Trigger)
|
||||
qtbot.waitUntil(lambda: getGuiItem("GuiWritingStats") is not None, timeout=1000)
|
||||
qtbot.waitUntil(lambda: SHARED.findTopLevelWidget(GuiWritingStats) is not None, timeout=1000)
|
||||
|
||||
sessLog = getGuiItem("GuiWritingStats")
|
||||
sessLog = SHARED.findTopLevelWidget(GuiWritingStats)
|
||||
assert isinstance(sessLog, GuiWritingStats)
|
||||
|
||||
# Test Loading
|
||||
|
||||
Reference in New Issue
Block a user