35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
import pytest
|
|
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__), "..")))
|
|
|
|
from simulation.sim_base import BaseSimulation
|
|
|
|
def test_base_simulation_init():
|
|
with patch('simulation.sim_base.ApiHookClient') as mock_client_class:
|
|
mock_client = MagicMock()
|
|
mock_client_class.return_value = mock_client
|
|
|
|
sim = BaseSimulation()
|
|
assert sim.client == mock_client
|
|
assert sim.sim is not None
|
|
|
|
def test_base_simulation_setup():
|
|
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")
|
|
|
|
mock_client.wait_for_server.assert_called()
|
|
mock_client.click.assert_any_call("btn_reset")
|
|
mock_sim.setup_new_project.assert_called()
|
|
assert sim.project_path.endswith("temp_testsim.toml")
|