conductor(checkpoint): Checkpoint end of Phase 2

This commit is contained in:
2026-05-02 18:42:39 -04:00
parent c74971bdb2
commit c3a114d242
+61
View File
@@ -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]}..."