test(tui): cover steer prompt restore state

This commit is contained in:
Nightt
2026-05-18 17:45:54 +08:00
committed by Hunter Bown
parent 710505db76
commit 4144fc6a2b
2 changed files with 25 additions and 3 deletions
+2 -3
View File
@@ -3736,14 +3736,13 @@ impl App {
}
let Some(prompt) = self
.last_submitted_prompt
.as_ref()
.as_deref()
.filter(|prompt| !prompt.is_empty())
.cloned()
else {
return false;
};
self.input = prompt;
self.input = prompt.to_string();
self.cursor_position = char_count(&self.input);
self.history_index = None;
self.history_navigation_draft = None;
+23
View File
@@ -3044,6 +3044,29 @@ async fn dispatch_user_message_records_prompt_for_cancel_restore() {
}
}
#[tokio::test]
async fn steer_user_message_records_prompt_for_cancel_restore() {
let mut app = create_test_app();
let mut engine = crate::core::engine::mock_engine_handle();
let queued = crate::tui::app::QueuedMessage::new(
"adjust the active turn\nthen continue".to_string(),
None,
);
steer_user_message(&mut app, &engine.handle, queued)
.await
.expect("steer user message");
assert_eq!(
app.last_submitted_prompt.as_deref(),
Some("adjust the active turn\nthen continue")
);
assert_eq!(
engine.rx_steer.recv().await.as_deref(),
Some("adjust the active turn\nthen continue")
);
}
#[tokio::test]
async fn numeric_plan_choice_still_queues_follow_up_when_busy() {
let mut app = create_test_app();