Files
manual_slop/tests/test_sim_base.py

47 lines
1.7 KiB
Python

"""
ANTI-SIMPLIFICATION: These tests verify the infrastructure of the user action simulator.
They MUST NOT be simplified. They ensure that the simulator correctly interacts with the
ApiHookClient to mimic real user behavior, which is critical for regression detection.
"""
from unittest.mock import MagicMock, patch
import os
import sys
# Ensure project root is in path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "src")))
from simulation.sim_base import BaseSimulation
def test_base_simulation_init() -> None:
"""
Verifies that the BaseSimulation initializes the ApiHookClient correctly.
"""
with patch('simulation.sim_base.ApiHookClient') as mock_client_class:
mock_client = MagicMock()
mock_client_class.return_value = mock_client
sim = BaseSimulation()
# ANTI-SIMPLIFICATION: Ensure the client is stored
assert sim.client == mock_client
assert sim.sim is not None
def test_base_simulation_setup() -> None:
"""
Verifies that the setup routine correctly resets the GUI state
and initializes a clean temporary project for simulation.
"""
mock_client = MagicMock()
mock_client.wait_for_server.return_value = True
with patch('simulation.sim_base.WorkflowSimulator') as mock_sim_class:
mock_sim = MagicMock()
mock_sim_class.return_value = mock_sim
sim = BaseSimulation(mock_client)
sim.setup("TestSim")
# ANTI-SIMPLIFICATION: Verify exact sequence of setup calls
mock_client.wait_for_server.assert_called()
mock_client.click.assert_any_call("btn_reset")
mock_sim.setup_new_project.assert_called()
from pathlib import Path
assert Path(sim.project_path).as_posix().endswith("tests/artifacts/temp_testsim.toml")