From ac1335326972dcab9af1104103003865dacd23a1 Mon Sep 17 00:00:00 2001 From: Ahmed Ibrahim Date: Mon, 9 Feb 2026 16:48:15 -0800 Subject: [PATCH] fix --- codex-rs/app-server/tests/suite/v2/review.rs | 4 ++-- codex-rs/tui/src/chatwidget/tests.rs | 22 +++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/codex-rs/app-server/tests/suite/v2/review.rs b/codex-rs/app-server/tests/suite/v2/review.rs index 2f919eee38..894638a177 100644 --- a/codex-rs/app-server/tests/suite/v2/review.rs +++ b/codex-rs/app-server/tests/suite/v2/review.rs @@ -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")?; diff --git a/codex-rs/tui/src/chatwidget/tests.rs b/codex-rs/tui/src/chatwidget/tests.rs index 128d171ed5..cfc982adcc 100644 --- a/codex-rs/tui/src/chatwidget/tests.rs +++ b/codex-rs/tui/src/chatwidget/tests.rs @@ -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); }