🧪 test(message-list): add edge-case tests (empty first page, no next_page_token despite pages > 1)
This commit is contained in:
committed by
Jeremiah Russell
parent
34125e7d5c
commit
cd907882ae
@@ -863,4 +863,36 @@ mod tests {
|
||||
client.get_messages(0).await.unwrap();
|
||||
assert_eq!(client.message_ids(), vec!["a", "b", "c"]);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn empty_first_page_returns_early() {
|
||||
let page = ListMessagesResponse {
|
||||
messages: None,
|
||||
next_page_token: None,
|
||||
result_size_estimate: Some(0),
|
||||
};
|
||||
let mut map = HashMap::new();
|
||||
map.insert(None, page);
|
||||
let mut client = TestClient::with_pages(map);
|
||||
client.get_messages(0).await.unwrap();
|
||||
assert!(client.message_ids().is_empty());
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn pages_param_gt1_but_no_next_token_stops() {
|
||||
use google_gmail1::api::Message;
|
||||
let first = ListMessagesResponse {
|
||||
messages: Some(vec![Message {
|
||||
id: Some("x".into()),
|
||||
..Default::default()
|
||||
}]),
|
||||
next_page_token: None,
|
||||
result_size_estimate: Some(1),
|
||||
};
|
||||
let mut map = HashMap::new();
|
||||
map.insert(None, first);
|
||||
let mut client = TestClient::with_pages(map);
|
||||
client.get_messages(5).await.unwrap();
|
||||
assert_eq!(client.message_ids(), vec!["x"]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user