Fix welcome dialog tests

This commit is contained in:
Veronica Berglyd Olsen
2024-02-20 23:21:02 +01:00
parent 10764a2041
commit 1c91ba6fd9
+8 -9
View File
@@ -27,7 +27,7 @@ from datetime import datetime
from pytestqt.qtbot import QtBot from pytestqt.qtbot import QtBot
from PyQt5.QtCore import QPoint, Qt from PyQt5.QtCore import QPoint, Qt
from PyQt5.QtWidgets import QAction, QDialogButtonBox, QFileDialog, QMenu from PyQt5.QtWidgets import QAction, QFileDialog, QMenu
from novelwriter import CONFIG, SHARED from novelwriter import CONFIG, SHARED
from novelwriter.enum import nwItemClass from novelwriter.enum import nwItemClass
@@ -47,18 +47,18 @@ def testToolWelcome_Main(qtbot: QtBot, monkeypatch, nwGUI, fncPath):
assert welcome.mainStack.currentIndex() == 0 assert welcome.mainStack.currentIndex() == 0
# Show the new project form # Show the new project form
welcome.newButton.click() welcome.btnNew.click()
assert welcome.mainStack.currentIndex() == 1 assert welcome.mainStack.currentIndex() == 1
# Revert to project lits # Revert to project lits
welcome.tabNew.cancelNewProject.emit() welcome.btnList.click()
assert welcome.mainStack.currentIndex() == 0 assert welcome.mainStack.currentIndex() == 0
# Open a project # Open a project
with monkeypatch.context() as mp: with monkeypatch.context() as mp:
mp.setattr(SHARED, "getProjectPath", lambda *a, **k: fncPath) mp.setattr(SHARED, "getProjectPath", lambda *a, **k: fncPath)
with qtbot.waitSignal(welcome.openProjectRequest) as signal: with qtbot.waitSignal(welcome.openProjectRequest) as signal:
welcome.browseButton.click() welcome.btnBrowse.click()
assert signal.args and signal.args[0] == fncPath assert signal.args and signal.args[0] == fncPath
# qtbot.stop() # qtbot.stop()
@@ -116,7 +116,7 @@ def testToolWelcome_Open(qtbot: QtBot, monkeypatch, nwGUI, fncPath):
with monkeypatch.context() as mp: with monkeypatch.context() as mp:
mp.setattr(welcome, "close", lambda *a: None) mp.setattr(welcome, "close", lambda *a: None)
with qtbot.waitSignal(welcome.openProjectRequest, timeout=5000) as signal: with qtbot.waitSignal(welcome.openProjectRequest, timeout=5000) as signal:
welcome.btnBox.button(QDialogButtonBox.StandardButton.Open).click() welcome.btnOpen.click()
assert signal.args and signal.args[0] == Path("/stuff/project_one") assert signal.args and signal.args[0] == Path("/stuff/project_one")
# Context Menu # Context Menu
@@ -173,7 +173,7 @@ def testToolWelcome_New(qtbot: QtBot, caplog, monkeypatch, nwGUI, fncPath):
with qtbot.waitExposed(welcome): with qtbot.waitExposed(welcome):
welcome.show() welcome.show()
welcome.newButton.click() welcome.btnNew.click()
assert welcome.mainStack.currentIndex() == 1 assert welcome.mainStack.currentIndex() == 1
tabNew = welcome.tabNew tabNew = welcome.tabNew
newForm = tabNew.projectForm newForm = tabNew.projectForm
@@ -217,7 +217,7 @@ def testToolWelcome_New(qtbot: QtBot, caplog, monkeypatch, nwGUI, fncPath):
# Creating a project without a name, pops an error # Creating a project without a name, pops an error
caplog.clear() caplog.clear()
tabNew.createButton.click() welcome.btnCreate.click()
assert "A project name is required." in caplog.text assert "A project name is required." in caplog.text
# Set some more values, and extract data # Set some more values, and extract data
@@ -233,7 +233,6 @@ def testToolWelcome_New(qtbot: QtBot, caplog, monkeypatch, nwGUI, fncPath):
assert newForm.getProjectData() == { assert newForm.getProjectData() == {
"name": "Test Project", "name": "Test Project",
"author": "Jane Smith", "author": "Jane Smith",
"language": "en_GB",
"path": str(projPath), "path": str(projPath),
"blank": True, "blank": True,
"sample": False, "sample": False,
@@ -246,7 +245,7 @@ def testToolWelcome_New(qtbot: QtBot, caplog, monkeypatch, nwGUI, fncPath):
# Create a project with these values # Create a project with these values
with qtbot.waitSignal(welcome.openProjectRequest, timeout=5000) as signal: with qtbot.waitSignal(welcome.openProjectRequest, timeout=5000) as signal:
tabNew.createButton.click() welcome.btnCreate.click()
assert signal.args and signal.args[0] == projPath assert signal.args and signal.args[0] == projPath
assert (projPath / nwFiles.PROJ_FILE).exists() assert (projPath / nwFiles.PROJ_FILE).exists()