This commit is contained in:
Ahmed Ibrahim
2026-02-09 16:48:15 -08:00
parent 92ef17290f
commit ac13353269
2 changed files with 14 additions and 12 deletions
+2 -2
View File
@@ -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")?;
+12 -10
View File
@@ -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);
}