buzz/tests/widgets/preferences_dialog/preferences_dialog_test.py

68 lines
2.5 KiB
Python

import os
from PyQt6.QtCore import QSettings
from PyQt6.QtWidgets import QTabWidget
from pytestqt.qtbot import QtBot
from buzz.locale import _
from buzz.widgets.preferences_dialog.models.preferences import Preferences
from buzz.widgets.preferences_dialog.preferences_dialog import PreferencesDialog
class TestPreferencesDialog:
locale_file_path = os.path.abspath(
os.path.join(os.path.dirname(__file__), "../../../buzz/locale/lv_LV/LC_MESSAGES/buzz.mo")
)
def test_create(self, qtbot: QtBot, shortcuts):
dialog = PreferencesDialog(
shortcuts=shortcuts, preferences=Preferences.load(QSettings())
)
qtbot.add_widget(dialog)
assert dialog.windowTitle() == _("Preferences")
tab_widget = dialog.findChild(QTabWidget)
assert isinstance(tab_widget, QTabWidget)
assert tab_widget.count() == 4
assert tab_widget.tabText(0) == _("General")
assert tab_widget.tabText(1) == _("Models")
assert tab_widget.tabText(2) == _("Shortcuts")
assert tab_widget.tabText(3) == _("Folder Watch")
def test_create_localized(self, qtbot: QtBot, shortcuts, mocker):
mocker.patch(
"PyQt6.QtCore.QLocale.name",
return_value='lv_LV',
)
# Reload the module after the patch
from importlib import reload
import buzz.locale
import buzz.widgets.preferences_dialog.models.preferences
import buzz.widgets.preferences_dialog.preferences_dialog
reload(buzz.locale)
reload(buzz.widgets.preferences_dialog.models.preferences)
reload(buzz.widgets.preferences_dialog.preferences_dialog)
from buzz.locale import _
from buzz.widgets.preferences_dialog.models.preferences import Preferences
from buzz.widgets.preferences_dialog.preferences_dialog import PreferencesDialog
dialog = PreferencesDialog(
shortcuts=shortcuts, preferences=Preferences.load(QSettings())
)
qtbot.add_widget(dialog)
assert os.path.isfile(self.locale_file_path), "File .mo file does not exist"
assert _("Preferences") == "Iestatījumi"
assert dialog.windowTitle() == "Iestatījumi"
tab_widget = dialog.findChild(QTabWidget)
assert isinstance(tab_widget, QTabWidget)
assert tab_widget.count() == 4
assert tab_widget.tabText(0) == "Vispārīgi"
assert tab_widget.tabText(1) == "Modeļi"
assert tab_widget.tabText(2) == "Īsinājumi"
assert tab_widget.tabText(3) == "Mapes vērošana"