1.3 KiB
1.3 KiB
Simulation Architecture
The extended GUI simulation suite follows a modular architecture to ensure comprehensive coverage and maintainability.
1. Components
1.1 simulation/sim_base.py
Provides BaseSimulation, a base class for all specific simulations.
- Initializes
ApiHookClientandWorkflowSimulator. - Provides common utility methods (resetting, waiting, asserting state).
- Supports both standalone execution and pytest integration.
1.2 Modular Simulation Scripts
Each script focuses on a specific GUI area:
simulation/sim_context.py: Context & Discussion panels, history, aggregation.simulation/sim_ai_settings.py: AI model configuration, provider switching.simulation/sim_tools.py: File exploration, MCP tools, web search.simulation/sim_execution.py: AI-generated scripts, confirmation modals, execution.
2. Execution Model
2.1 Standalone
Scripts can be run directly (e.g., python simulation/sim_context.py) provided the GUI is running with --enable-test-hooks.
2.2 Automated (pytest)
A thin wrapper in tests/test_extended_sims.py will discover and run these simulations using the live_gui fixture, ensuring they are part of the CI/CD pipeline.
3. Data Management
Simulations will use isolated temporary project files (tests/temp_sim_*.toml) to avoid interfering with user configuration or other tests.