feat: Enhance Help menu with About dialog and update check functionality

This commit is contained in:
claudi 2026-01-29 09:09:04 +01:00
parent eb7ffe9969
commit 6278ef8eed
3 changed files with 196 additions and 16 deletions

View file

@ -346,13 +346,22 @@ class TestMainWindowMenuBar:
assert callable(window.check_for_updates.emit)
def test_on_check_for_updates_method_exists(self, qtbot, sample_config):
"""Test _on_check_for_updates method exists."""
"""Test _on_manual_check_for_updates method exists."""
window = MainWindow(sample_config)
qtbot.addWidget(window)
# Test that the method exists
assert hasattr(window, "_on_check_for_updates")
assert callable(window._on_check_for_updates)
assert hasattr(window, "_on_manual_check_for_updates")
assert callable(window._on_manual_check_for_updates)
def test_show_about_dialog_method_exists(self, qtbot, sample_config):
"""Test _show_about_dialog method exists."""
window = MainWindow(sample_config)
qtbot.addWidget(window)
# Test that the method exists
assert hasattr(window, "_show_about_dialog")
assert callable(window._show_about_dialog)
class TestMainWindowStatusBar:

View file

@ -99,8 +99,9 @@ class TestMainWindowStartupCheck:
assert "" in window.update_status_label.text()
def test_on_update_available_emits_signal(self, qtbot, sample_config):
"""Test _on_update_available emits update_available signal."""
"""Test _on_update_available shows dialog and updates status."""
from webdrop_bridge.ui.main_window import MainWindow
from unittest.mock import patch
window = MainWindow(sample_config)
qtbot.addWidget(window)
@ -108,13 +109,17 @@ class TestMainWindowStartupCheck:
# Create mock release
mock_release = MagicMock()
mock_release.version = "0.0.2"
mock_release.body = "Bug fixes"
with qtbot.waitSignal(window.update_available):
# Mock the dialog creation to avoid showing it
with patch('webdrop_bridge.ui.update_manager_ui.UpdateAvailableDialog'):
window._on_update_available(mock_release)
assert "0.0.2" in window.update_status_label.text()
def test_on_update_available_updates_status(self, qtbot, sample_config):
"""Test _on_update_available updates status bar."""
from webdrop_bridge.ui.main_window import MainWindow
from unittest.mock import patch
window = MainWindow(sample_config)
qtbot.addWidget(window)
@ -122,7 +127,10 @@ class TestMainWindowStartupCheck:
# Create mock release
mock_release = MagicMock()
mock_release.version = "0.0.2"
mock_release.body = "Bug fixes"
window._on_update_available(mock_release)
assert "0.0.2" in window.update_status_label.text()
assert "" in window.update_status_label.text()
# Mock the dialog creation to avoid showing it
with patch('webdrop_bridge.ui.update_manager_ui.UpdateAvailableDialog'):
window._on_update_available(mock_release)
assert "0.0.2" in window.update_status_label.text()
assert "" in window.update_status_label.text()