conductor(checkpoint): Checkpoint end of Phase 2
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
import pytest
|
||||
import time
|
||||
import os
|
||||
import sys
|
||||
|
||||
# Ensure project root is in path for imports
|
||||
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
|
||||
|
||||
from src.api_hook_client import ApiHookClient
|
||||
from src import ai_client
|
||||
|
||||
def test_system_prompt_sim(live_gui):
|
||||
"""
|
||||
Simulation test for system prompt settings.
|
||||
1. Wait for server.
|
||||
2. Verify initial state.
|
||||
3. Modify settings via API.
|
||||
4. Verify updates.
|
||||
5. Use 'Reset to Default' button via API.
|
||||
6. Verify restoration to default text.
|
||||
"""
|
||||
_, gui_script = live_gui
|
||||
client = ApiHookClient()
|
||||
|
||||
# 1. Use client.wait_for_server().
|
||||
assert client.wait_for_server(timeout=15), "Server failed to start in time"
|
||||
|
||||
# Wait a bit for GUI to settle
|
||||
time.sleep(2)
|
||||
|
||||
# 2. Verify initial state: get_value('use_default_base_prompt') should be True.
|
||||
initial_default = client.get_value('use_default_base_prompt')
|
||||
assert initial_default is True, f"Expected use_default_base_prompt to be True, got {initial_default}"
|
||||
|
||||
# 3. Call client.set_value('use_default_base_prompt', False).
|
||||
client.set_value('use_default_base_prompt', False)
|
||||
|
||||
# 4. Call client.set_value('base_system_prompt', 'Simulation Base Prompt').
|
||||
client.set_value('base_system_prompt', 'Simulation Base Prompt')
|
||||
|
||||
# Wait for processing
|
||||
time.sleep(0.5)
|
||||
|
||||
# 5. Verify the values were updated.
|
||||
assert client.get_value('use_default_base_prompt') is False
|
||||
assert client.get_value('base_system_prompt') == 'Simulation Base Prompt'
|
||||
|
||||
# 7. In the test, call client.click('btn_reset_base_prompt')
|
||||
client.click('btn_reset_base_prompt')
|
||||
|
||||
# Give it a moment to process the click
|
||||
time.sleep(1.0)
|
||||
|
||||
# verify use_default_base_prompt becomes False (Reset to Default sets it to False but copies the text)
|
||||
# Wait, if it was already False, it stays False.
|
||||
assert client.get_value('use_default_base_prompt') is False
|
||||
|
||||
# 8. Verify the effective state is correct.
|
||||
# It should be back to ai_client._SYSTEM_PROMPT
|
||||
current_prompt = client.get_value('base_system_prompt')
|
||||
assert current_prompt == ai_client._SYSTEM_PROMPT, f"Prompt not reset. Got: {current_prompt[:50]}..."
|
||||
Reference in New Issue
Block a user