コード例 #1
0
def test_open_notes(qtbot, fake_link):
    """Test notes are opened correctly when a file is given"""
    # Black likes to make multiple with statements unreadable
    with patch.object(QtWidgets.QFileDialog, "getOpenFileName") as mock_filedialog, \
            patch.object(Notes, "from_file") as mock_notes, \
            patch.object(MainWindow, "update_notes") as mock_update_notes:
        main_window = MainWindow()
        qtbot.add_widget(main_window)

        fake_notes = Notes(StringIO("Fake Notes\nAre Here\n\nSplit 2"))

        original_folder = main_window.settings.notes_folder
        fake_folder = Path("fake/folder")
        fake_file = str(fake_folder / "mock_notes.txt")

        mock_filedialog.return_value = (fake_file, "Note Files (*.txt *.md)")
        mock_notes.return_value = fake_notes

        main_window.open_notes()

        mock_filedialog.assert_called_once_with(
            main_window,
            "Open Notes",
            original_folder,
            "Note Files (*.txt *.md);;All Files (*.*)",
        )

        mock_notes.assert_called_once_with(fake_file, separator="")

        assert main_window.settings.notes_folder == str(fake_folder)

        mock_update_notes.assert_called_once_with(idx=0, refresh=True)
コード例 #2
0
def test_no_notes(qtbot, fake_link):
    """Test that notes are not read if no file is given"""
    with patch.object(QtWidgets.QFileDialog,
                      "getOpenFileName") as mock_filedialog, patch.object(
                          Notes, "from_file") as mock_notes:
        main_window = MainWindow()
        qtbot.add_widget(main_window)

        mock_filedialog.return_value = (None, "Note Files (*.txt *.md)")

        main_window.open_notes()

        mock_notes.assert_not_called()