Adding tests

This commit is contained in:
Raivis Dejus 2026-02-26 20:25:36 +02:00
commit beb5e4a539
2 changed files with 76 additions and 0 deletions

View file

@ -1,5 +1,6 @@
import logging
import os
import tempfile
from typing import List
from unittest.mock import patch, Mock
@ -293,6 +294,67 @@ class TestMainWindow:
assert window.toolbar.open_transcript_action.isEnabled() is False
window.close()
def test_import_folder_opens_file_transcriber_with_supported_files(
self, qtbot, transcription_service
):
window = MainWindow(transcription_service)
qtbot.add_widget(window)
with tempfile.TemporaryDirectory() as folder:
# Create supported and unsupported files
supported = ["audio.mp3", "video.mp4", "clip.wav"]
unsupported = ["document.txt", "image.png"]
subdir = os.path.join(folder, "sub")
os.makedirs(subdir)
nested = "nested.flac"
for name in supported + unsupported:
open(os.path.join(folder, name), "w").close()
open(os.path.join(subdir, nested), "w").close()
with patch("PyQt6.QtWidgets.QFileDialog.getExistingDirectory") as mock_dir, \
patch.object(window, "open_file_transcriber_widget") as mock_open:
mock_dir.return_value = folder
window.on_import_folder_action_triggered()
collected = mock_open.call_args[0][0]
collected_names = {os.path.basename(p) for p in collected}
assert collected_names == {"audio.mp3", "video.mp4", "clip.wav", "nested.flac"}
window.close()
def test_import_folder_does_nothing_when_cancelled(
self, qtbot, transcription_service
):
window = MainWindow(transcription_service)
qtbot.add_widget(window)
with patch("PyQt6.QtWidgets.QFileDialog.getExistingDirectory") as mock_dir, \
patch.object(window, "open_file_transcriber_widget") as mock_open:
mock_dir.return_value = ""
window.on_import_folder_action_triggered()
mock_open.assert_not_called()
window.close()
def test_import_folder_does_nothing_when_no_supported_files(
self, qtbot, transcription_service
):
window = MainWindow(transcription_service)
qtbot.add_widget(window)
with tempfile.TemporaryDirectory() as folder:
open(os.path.join(folder, "readme.txt"), "w").close()
open(os.path.join(folder, "image.jpg"), "w").close()
with patch("PyQt6.QtWidgets.QFileDialog.getExistingDirectory") as mock_dir, \
patch.object(window, "open_file_transcriber_widget") as mock_open:
mock_dir.return_value = folder
window.on_import_folder_action_triggered()
mock_open.assert_not_called()
window.close()
@staticmethod
def _import_file_and_start_transcription(
window: MainWindow, long_audio: bool = False

View file

@ -1,3 +1,5 @@
from unittest.mock import patch, Mock
from PyQt6.QtCore import QSettings
from buzz.widgets.menu_bar import MenuBar
@ -6,6 +8,18 @@ from buzz.widgets.preferences_dialog.preferences_dialog import PreferencesDialog
class TestMenuBar:
def test_import_folder_action_emits_signal(self, qtbot, shortcuts):
menu_bar = MenuBar(
shortcuts=shortcuts, preferences=Preferences.load(QSettings())
)
qtbot.add_widget(menu_bar)
signal_mock = Mock()
menu_bar.import_folder_action_triggered.connect(signal_mock)
menu_bar.import_folder_action.trigger()
signal_mock.assert_called_once()
def test_open_preferences_dialog(self, qtbot, shortcuts):
menu_bar = MenuBar(
shortcuts=shortcuts, preferences=Preferences.load(QSettings())