mirror of
https://github.com/openai/codex.git
synced 2026-10-31 19:28:49 +00:00
fix
This commit is contained in:
@@ -2,7 +2,7 @@ use anyhow::Result;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::create_final_assistant_message_sse_response;
|
||||
use app_test_support::create_mock_responses_server_repeating_assistant;
|
||||
use app_test_support::create_mock_responses_server_sequence;
|
||||
use app_test_support::create_mock_responses_server_sequence_unchecked;
|
||||
use app_test_support::create_shell_command_sse_response;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::ItemCompletedNotification;
|
||||
@@ -150,7 +150,7 @@ async fn review_start_exec_approval_item_id_matches_command_execution_item() ->
|
||||
)?,
|
||||
create_final_assistant_message_sse_response("done")?,
|
||||
];
|
||||
let server = create_mock_responses_server_sequence(responses).await;
|
||||
let server = create_mock_responses_server_sequence_unchecked(responses).await;
|
||||
|
||||
let codex_home = TempDir::new()?;
|
||||
create_config_toml_with_approval_policy(codex_home.path(), &server.uri(), "untrusted")?;
|
||||
|
||||
@@ -3653,6 +3653,16 @@ fn render_bottom_first_row(chat: &ChatWidget, width: u16) -> String {
|
||||
String::new()
|
||||
}
|
||||
|
||||
/// Sets up a chat widget, opens the given popup, and returns the rendered popup string.
|
||||
/// Use for model/personality selection popup snapshot tests. The model must exist in
|
||||
/// models.json (e.g. gpt-5.2-codex for personality, which supports it).
|
||||
async fn make_popup_snapshot(model: &str, open_popup: impl FnOnce(&mut ChatWidget)) -> String {
|
||||
let (mut chat, _rx, _op_rx) = make_chatwidget_manual(Some(model)).await;
|
||||
chat.thread_id = Some(ThreadId::new());
|
||||
open_popup(&mut chat);
|
||||
render_bottom_popup(&chat, 80)
|
||||
}
|
||||
|
||||
fn render_bottom_popup(chat: &ChatWidget, width: u16) -> String {
|
||||
let height = chat.desired_height(width);
|
||||
let area = Rect::new(0, 0, width, height);
|
||||
@@ -3819,21 +3829,13 @@ async fn experimental_features_toggle_saves_on_exit() {
|
||||
|
||||
#[tokio::test]
|
||||
async fn model_selection_popup_snapshot() {
|
||||
let (mut chat, _rx, _op_rx) = make_chatwidget_manual(Some("gpt-5-codex")).await;
|
||||
chat.thread_id = Some(ThreadId::new());
|
||||
chat.open_model_popup();
|
||||
|
||||
let popup = render_bottom_popup(&chat, 80);
|
||||
let popup = make_popup_snapshot("gpt-5-codex", |c| c.open_model_popup()).await;
|
||||
assert_snapshot!("model_selection_popup", popup);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn personality_selection_popup_snapshot() {
|
||||
let (mut chat, _rx, _op_rx) = make_chatwidget_manual(Some("bengalfox")).await;
|
||||
chat.thread_id = Some(ThreadId::new());
|
||||
chat.open_personality_popup();
|
||||
|
||||
let popup = render_bottom_popup(&chat, 80);
|
||||
let popup = make_popup_snapshot("gpt-5.2-codex", |c| c.open_personality_popup()).await;
|
||||
assert_snapshot!("personality_selection_popup", popup);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user