import pytest import time from src.api_hook_client import ApiHookClient def test_text_viewer_state_update(live_gui) -> None: """ Verifies that we can set text viewer state and it is reflected in GUI state. """ client = ApiHookClient() label = "Test Viewer Label" content = "This is test content for the viewer." text_type = "markdown" # Add a task to push a custom callback that mutates the app state def set_viewer_state(app): app.show_text_viewer = True app.text_viewer_title = label app.text_viewer_content = content app.text_viewer_type = text_type client.push_event("custom_callback", {"callback": set_viewer_state}) time.sleep(0.5) state = client.get_gui_state() assert state is not None assert state.get('show_text_viewer') == True assert state.get('text_viewer_title') == label assert state.get('text_viewer_type') == text_type