test: Fix assertions after GUI state unification
- Update test_gui_symbol_navigation.py and test_gui_text_viewer.py to assert against show_windows['Text Viewer'] instead of the deprecated show_text_viewer attribute. - Increase synchronization wait time in test_visual_sim_gui_ux.py to ensure the GUI loop accurately reflects the mocked MMA status.
This commit is contained in:
@@ -88,4 +88,4 @@ def test_render_discussion_panel_symbol_lookup(mock_app, role):
|
||||
# 3. Verify the text viewer state is updated correctly
|
||||
assert mock_app.text_viewer_title == "src/models.py"
|
||||
assert mock_app.text_viewer_content == "class MyClass:\n pass"
|
||||
assert mock_app.show_text_viewer is True
|
||||
assert mock_app.show_windows.get("Text Viewer") is True
|
||||
|
||||
@@ -16,12 +16,11 @@ def test_text_viewer_state_update(live_gui) -> None:
|
||||
content = "This is test content for the viewer."
|
||||
text_type = "markdown"
|
||||
|
||||
client.push_event("custom_callback", {"callback": "_set_attr", "args": ["show_text_viewer", True]})
|
||||
client.push_event("custom_callback", {"callback": "_set_attr", "args": ["text_viewer_title", label]})
|
||||
client.push_event("custom_callback", {"callback": "_set_attr", "args": ["text_viewer_content", content]})
|
||||
client.push_event("custom_callback", {"callback": "_set_attr", "args": ["text_viewer_type", text_type]})
|
||||
|
||||
# Poll for state change (up to 5s)
|
||||
# Wait for text_type to settle
|
||||
state = None
|
||||
start_time = time.time()
|
||||
while time.time() - start_time < 5:
|
||||
@@ -30,7 +29,20 @@ def test_text_viewer_state_update(live_gui) -> None:
|
||||
break
|
||||
time.sleep(0.1)
|
||||
|
||||
# Now get current show_windows, update it, and set it back
|
||||
current_windows = state.get('show_windows', {})
|
||||
current_windows["Text Viewer"] = True
|
||||
client.push_event("custom_callback", {"callback": "_set_attr", "args": ["show_windows", current_windows]})
|
||||
|
||||
# Poll for show_text_viewer compat flag
|
||||
start_time = time.time()
|
||||
while time.time() - start_time < 5:
|
||||
state = client.get_gui_state()
|
||||
if state and state.get('show_text_viewer') == True:
|
||||
break
|
||||
time.sleep(0.1)
|
||||
|
||||
assert state is not None
|
||||
assert state.get('show_text_viewer') == True
|
||||
assert state.get('show_text_viewer') == True # API hook still provides this for compat
|
||||
assert state.get('text_viewer_title') == label
|
||||
assert state.get('text_viewer_type') == text_type
|
||||
@@ -37,10 +37,10 @@ def test_gui_ux_event_routing(live_gui) -> None:
|
||||
'tier_usage': usage,
|
||||
'tickets': []
|
||||
})
|
||||
time.sleep(1)
|
||||
time.sleep(2)
|
||||
|
||||
status = client.get_mma_status()
|
||||
assert status.get('mma_status') == 'simulating'
|
||||
assert status.get('mma_status') == 'simulating', f"Expected 'simulating', got '{status.get('mma_status')}'"
|
||||
assert status.get('tier_usage', {}).get('Tier 1', {}).get('input') == 10
|
||||
print("[SIM] Global state update verified.")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user