import pytest from unittest.mock import patch from gui_2 import App @pytest.fixture def app_instance(): with ( patch('gui_2.load_config', return_value={'gui': {'show_windows': {}}}), patch('gui_2.save_config'), patch('gui_2.project_manager'), patch('gui_2.session_logger'), patch('gui_2.immapp.run'), patch.object(App, '_load_active_project'), patch.object(App, '_fetch_models'), patch.object(App, '_load_fonts'), patch.object(App, '_post_init') ): yield App() def test_gui2_hubs_exist_in_show_windows(app_instance): """ Verifies that the new consolidated Hub windows are defined in the App's show_windows. This ensures they will be available in the 'Windows' menu. """ expected_hubs = [ "Context Hub", "AI Settings Hub", "Discussion Hub", "Operations Hub", ] for hub in expected_hubs: assert hub in app_instance.show_windows, f"Expected hub window '{hub}' not found in show_windows" def test_gui2_old_windows_removed_from_show_windows(app_instance): """ Verifies that the old fragmented windows are removed from show_windows. """ old_windows = [ "Projects", "Files", "Screenshots", "Provider", "System Prompts", "Message", "Response", "Tool Calls", "Comms History" ] for old_win in old_windows: assert old_win not in app_instance.show_windows, f"Old window '{old_win}' should have been removed from show_windows"