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)
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()