refactor(tests): Update test suite and API hooks for AppController architecture

This commit is contained in:
2026-03-04 11:38:36 -05:00
parent 8642277ef4
commit f2b25757eb
6 changed files with 214 additions and 141 deletions

View File

@@ -43,7 +43,7 @@ def test_add_ticket_logic(mock_app: App):
mock_imgui.get_window_draw_list.return_value.add_rect_filled = MagicMock()
# We also need to mock _push_mma_state_update
with patch.object(mock_app, '_push_mma_state_update') as mock_push:
with patch.object(mock_app.controller, '_push_mma_state_update') as mock_push:
mock_app._render_mma_dashboard()
# Verify ticket was added
@@ -93,7 +93,7 @@ def test_delete_ticket_logic(mock_app: App):
mock_imgui.ImVec2 = MagicMock
mock_imgui.ImVec4 = MagicMock
with patch('gui_2.C_LBL', MagicMock()), patch.object(mock_app, '_push_mma_state_update') as mock_push:
with patch('gui_2.C_LBL', MagicMock()), patch.object(mock_app.controller, '_push_mma_state_update') as mock_push:
# Render T-001
mock_app._render_ticket_dag_node(mock_app.active_tickets[0], tickets_by_id, children_map, rendered)
@@ -110,8 +110,8 @@ def test_track_discussion_toggle(mock_app: App):
patch('gui_2.imgui') as mock_imgui,
patch('gui_2.project_manager.load_track_history', return_value=["@2026-03-01 12:00:00\n[User]\nTrack Hello"]) as mock_load,
patch('gui_2.project_manager.str_to_entry', side_effect=lambda s, roles: {"ts": "12:00", "role": "User", "content": s.split("\n")[-1]}),
patch.object(mock_app, '_flush_disc_entries_to_project') as mock_flush,
patch.object(mock_app, '_switch_discussion') as mock_switch
patch.object(mock_app.controller, '_flush_disc_entries_to_project') as mock_flush,
patch.object(mock_app.controller, '_switch_discussion') as mock_switch
):
# Track calls to ensure we only return 'changed=True' once to avoid loops
calls = {"Track Discussion": 0}
@@ -163,9 +163,9 @@ def test_track_discussion_toggle(mock_app: App):
def test_push_mma_state_update(mock_app: App):
mock_app.active_tickets = [{"id": "T-001", "description": "desc", "status": "todo", "assigned_to": "tier3-worker", "depends_on": []}]
with patch('project_manager.save_track_state') as mock_save, \
patch('project_manager.load_track_state', return_value=None):
mock_app._push_mma_state_update()
with patch('src.project_manager.save_track_state') as mock_save, \
patch('src.project_manager.load_track_state', return_value=None):
mock_app.controller._push_mma_state_update()
assert len(mock_app.active_track.tickets) == 1
assert mock_app.active_track.tickets[0].id == "T-001"