29 lines
865 B
Python
29 lines
865 B
Python
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
|