Skip to content

Commit e3249a3

Browse files
author
zynx
committed
test: adapt conversation recovery tests to message paging
1 parent 904e0c5 commit e3249a3

1 file changed

Lines changed: 18 additions & 5 deletions

File tree

crates/aionui-conversation/src/service_test.rs

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,19 @@ fn message_is_after_cursor(message: &MessageRow, cursor: &MessagePageCursor) ->
194194
message.created_at > cursor.created_at || (message.created_at == cursor.created_at && message.id > cursor.id)
195195
}
196196

197+
async fn repo_messages_asc(repo: &Arc<MockRepo>, conv_id: &str, limit: u32) -> Vec<MessageRow> {
198+
repo.list_messages_page(
199+
conv_id,
200+
&MessagePageParams {
201+
limit,
202+
direction: MessagePageDirection::InitialLatest,
203+
},
204+
)
205+
.await
206+
.unwrap()
207+
.items
208+
}
209+
197210
#[async_trait::async_trait]
198211
impl IConversationRepository for MockRepo {
199212
async fn get(&self, id: &str) -> Result<Option<ConversationRow>, aionui_db::DbError> {
@@ -4037,7 +4050,7 @@ async fn send_message_recovers_when_finished_task_has_no_runtime_terminal() {
40374050
assert_eq!(task_mgr.kill_count(), 1);
40384051
assert_eq!(task_mgr.active_count(), 1);
40394052

4040-
let messages = repo.get_messages(&conv.id, 1, 20, SortOrder::Asc).await.unwrap().items;
4053+
let messages = repo_messages_asc(&repo, &conv.id, 20).await;
40414054
let tips: Vec<_> = messages.iter().filter(|msg| msg.r#type == "tips").collect();
40424055
assert!(tips.is_empty());
40434056
}
@@ -4083,7 +4096,7 @@ async fn send_message_auto_replays_clean_retryable_acp_error_once() {
40834096
assert_eq!(first.sent_contents(), vec!["Hello"]);
40844097
assert_eq!(second.sent_contents(), vec!["Hello"]);
40854098

4086-
let messages = repo.get_messages(&conv.id, 1, 20, SortOrder::Asc).await.unwrap().items;
4099+
let messages = repo_messages_asc(&repo, &conv.id, 20).await;
40874100
let users: Vec<_> = messages
40884101
.iter()
40894102
.filter(|msg| msg.r#type == "text" && msg.position.as_deref() == Some("right"))
@@ -4191,7 +4204,7 @@ async fn send_message_does_not_auto_replay_after_visible_output() {
41914204

41924205
assert_eq!(task_mgr.build_count(), 1);
41934206
assert_eq!(task_mgr.kill_count(), 1);
4194-
let messages = repo.get_messages(&conv.id, 1, 20, SortOrder::Asc).await.unwrap().items;
4207+
let messages = repo_messages_asc(&repo, &conv.id, 20).await;
41954208
let assistants: Vec<_> = messages
41964209
.iter()
41974210
.filter(|msg| msg.r#type == "text" && msg.position.as_deref() == Some("left"))
@@ -4283,7 +4296,7 @@ async fn send_message_does_not_auto_replay_model_not_found() {
42834296

42844297
assert_eq!(task_mgr.build_count(), 1);
42854298
assert_eq!(task_mgr.kill_count(), 1);
4286-
let messages = repo.get_messages(&conv.id, 1, 20, SortOrder::Asc).await.unwrap().items;
4299+
let messages = repo_messages_asc(&repo, &conv.id, 20).await;
42874300
let tips: Vec<_> = messages.iter().filter(|msg| msg.r#type == "tips").collect();
42884301
assert_eq!(
42894302
tips.len(),
@@ -4341,7 +4354,7 @@ async fn send_message_auto_replay_stops_after_second_retryable_failure() {
43414354

43424355
assert_eq!(task_mgr.build_count(), 2);
43434356
assert_eq!(task_mgr.kill_count(), 2);
4344-
let messages = repo.get_messages(&conv.id, 1, 20, SortOrder::Asc).await.unwrap().items;
4357+
let messages = repo_messages_asc(&repo, &conv.id, 20).await;
43454358
let tips: Vec<_> = messages.iter().filter(|msg| msg.r#type == "tips").collect();
43464359
assert_eq!(tips.len(), 1, "second failure is final and visible");
43474360
let content: serde_json::Value = serde_json::from_str(&tips[0].content).unwrap();

0 commit comments

Comments
 (0)