Spaces:
Sleeping
Sleeping
| import unittest | |
| from unittest.mock import MagicMock, patch | |
| import sys | |
| import os | |
| # Add project root to path | |
| sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
| class TestGUISidebar(unittest.TestCase): | |
| def test_sidebar_creation(self): | |
| """ | |
| Test that the GUI creates a favorites sidebar. | |
| """ | |
| with patch('tkinter.Tk'), \ | |
| patch('tkinter.ttk.Style'), \ | |
| patch('tkinter.ttk.Frame') as mock_frame, \ | |
| patch('tkinter.ttk.Label') as mock_label, \ | |
| patch('tkinter.ttk.Entry'), \ | |
| patch('tkinter.ttk.Checkbutton'), \ | |
| patch('tkinter.ttk.Button'), \ | |
| patch('tkinter.StringVar', side_effect=lambda value=None: MagicMock(get=MagicMock(return_value=value))), \ | |
| patch('tkinter.IntVar', side_effect=lambda value=None: MagicMock(get=MagicMock(return_value=value))), \ | |
| patch('tkinter.BooleanVar', side_effect=lambda value=None: MagicMock(get=MagicMock(return_value=value))): | |
| if 'gui_app' in sys.modules: | |
| del sys.modules['gui_app'] | |
| from gui_app import HollandVacationApp | |
| app = HollandVacationApp() | |
| # Check for "Favorites" label | |
| label_texts = [call[1].get('text') for call in mock_label.call_args_list] | |
| self.assertTrue(any("Favorites" in str(t) for t in label_texts if t), "Missing Favorites label") | |
| if __name__ == '__main__': | |
| unittest.main() | |