Files
manual_slop/tests/test_sim_context.py
T
ed b5e512f483 feat(sdm): inject structural dependency mapping tags across codebase
Adds [C: caller] tags to functions/methods and [M: mutation] / [U: usage] tags to class variables based on cross-module call analysis.
2026-05-13 22:35:52 -04:00

57 lines
1.8 KiB
Python

"""
ANTI-SIMPLIFICATION: These tests verify the Context user action simulation.
They MUST NOT be simplified. They ensure that file selection, discussion switching,
and context truncation are simulated correctly to test the UI's state management.
"""
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_context import ContextSimulation
def test_context_simulation_run() -> None:
"""
Verifies that the ContextSimulation runs the correct sequence of user actions:
discussion switching, context building (md_only), and history truncation.
"""
mock_client = MagicMock()
mock_client.wait_for_server.return_value = True
# Mock project config
mock_project = {
'project': {
'files': {'paths': []}
}
}
mock_client.get_project.return_value = mock_project
mock_client.get_value.side_effect = lambda key: {
"ai_status": "md written: test.md",
"token_budget_pct": 0.05
}.get(key)
# Mock session entries
mock_session = {
'session': {
'entries': [
{'role': 'User', 'content': 'Hello'},
{'role': 'AI', 'content': 'Hi'}
]
}
}
mock_client.get_session.return_value = mock_session
with patch('simulation.sim_base.WorkflowSimulator') as mock_sim_class:
mock_sim = MagicMock()
mock_sim_class.return_value = mock_sim
sim = ContextSimulation(mock_client)
sim.run()
# Verify calls
# ANTI-SIMPLIFICATION: Must assert these specific simulation steps are executed
mock_sim.switch_discussion.assert_called_with("main")
mock_client.post_project.assert_called()
mock_client.click.assert_called_with("btn_md_only")
mock_sim.run_discussion_turn.assert_called()
mock_sim.truncate_history.assert_called_with(1)