buzz/tests/widgets/menu_bar_test.py
2026-02-27 09:11:51 +00:00

35 lines
1.2 KiB
Python

from unittest.mock import patch, Mock
from PyQt6.QtCore import QSettings
from buzz.widgets.menu_bar import MenuBar
from buzz.widgets.preferences_dialog.models.preferences import Preferences
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())
)
qtbot.add_widget(menu_bar)
preferences_dialog = menu_bar.findChild(PreferencesDialog)
assert preferences_dialog is None
menu_bar.preferences_action.trigger()
preferences_dialog = menu_bar.findChild(PreferencesDialog)
assert isinstance(preferences_dialog, PreferencesDialog)