From 25dec2ace838472a35a19e184a13f36bc2ccfbe1 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Sat, 1 Oct 2022 20:32:47 +0200 Subject: [PATCH] Add test coverage of convert folder feature --- tests/test_gui/test_gui_projtree.py | 36 ++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/tests/test_gui/test_gui_projtree.py b/tests/test_gui/test_gui_projtree.py index feef859d..4e381614 100644 --- a/tests/test_gui/test_gui_projtree.py +++ b/tests/test_gui/test_gui_projtree.py @@ -458,7 +458,7 @@ def testGuiProjTree_DeleteItems(qtbot, caplog, monkeypatch, nwGUI, fncDir, mockR @pytest.mark.gui -def testGuiProjTree_ContextMenu(qtbot, caplog, monkeypatch, nwGUI, fncDir, mockRnd): +def testGuiProjTree_ContextMenu(qtbot, monkeypatch, nwGUI, fncDir, mockRnd): """Test the building of the project tree context menu. All this does is test that the menu builds. It doesn't open the actual menu, """ @@ -470,6 +470,8 @@ def testGuiProjTree_ContextMenu(qtbot, caplog, monkeypatch, nwGUI, fncDir, mockR monkeypatch.setattr(GuiEditLabel, "getLabel", lambda *a, text: (text, True)) monkeypatch.setattr(QMenu, "exec_", lambda *a: None) + nwTree = nwGUI.projView + # Create a project prjDir = os.path.join(fncDir, "project") buildTestProject(nwGUI, prjDir) @@ -544,6 +546,38 @@ def testGuiProjTree_ContextMenu(qtbot, caplog, monkeypatch, nwGUI, fncDir, mockR projTree._changeItemLayout(hNovelNote, nwItemLayout.NOTE) assert nwItem.itemLayout == nwItemLayout.NOTE + # Convert Folders to Documents + # ============================ + + hNewFolderOne = "0000000000013" + hNewFolderTwo = "0000000000015" + + nwTree.setSelectedHandle(hNovelNote) + assert nwTree.projTree.newTreeItem(nwItemType.FOLDER) is True + nwTree.setSelectedHandle(hNewFolderOne) + assert nwTree.projTree.newTreeItem(nwItemType.FILE) is True + + nwTree.setSelectedHandle(hNovelNote) + assert nwTree.projTree.newTreeItem(nwItemType.FOLDER) is True + nwTree.setSelectedHandle(hNewFolderTwo) + assert nwTree.projTree.newTreeItem(nwItemType.FILE, isNote=True) is True + + # Click no on the dialog + with monkeypatch.context() as mp: + mp.setattr(QMessageBox, "question", lambda *a: QMessageBox.No) + projTree._covertFolderToFile(hNewFolderOne, nwItemLayout.DOCUMENT) + assert nwGUI.theProject.tree[hNewFolderOne].isFolderType() + + # Convert the first folder to a document + projTree._covertFolderToFile(hNewFolderOne, nwItemLayout.DOCUMENT) + assert nwGUI.theProject.tree[hNewFolderOne].isFileType() + assert nwGUI.theProject.tree[hNewFolderOne].isDocumentLayout() + + # Convert the second folder to a note + projTree._covertFolderToFile(hNewFolderTwo, nwItemLayout.NOTE) + assert nwGUI.theProject.tree[hNewFolderTwo].isFileType() + assert nwGUI.theProject.tree[hNewFolderTwo].isNoteLayout() + # qtbot.stop() # END Test testGuiProjTree_ContextMenu