Add a test to check that we take care of soft deleted documents

This commit is contained in:
Kerollmops 2022-11-08 14:23:14 +01:00
parent cf76ec7b37
commit 1b1ad1923b
No known key found for this signature in database
GPG Key ID: 92ADA4E935E71FA4

View File

@ -719,6 +719,7 @@ mod tests {
use super::*;
use crate::error::Error;
use crate::index::tests::TempIndex;
use crate::update::DeleteDocuments;
use crate::{Criterion, Filter, SearchResult};
#[test]
@ -1494,4 +1495,34 @@ mod tests {
})
.unwrap();
}
#[test]
fn settings_must_ignore_soft_deleted() {
use serde_json::json;
let index = TempIndex::new();
let mut docs = vec![];
for i in 0..10 {
docs.push(json!({ "id": i, "title": format!("{:x}", i) }));
}
index.add_documents(documents! { docs }).unwrap();
let mut wtxn = index.write_txn().unwrap();
let mut builder = DeleteDocuments::new(&mut wtxn, &index).unwrap();
(0..5).for_each(|id| drop(builder.delete_external_id(&id.to_string())));
builder.execute().unwrap();
index
.update_settings_using_wtxn(&mut wtxn, |settings| {
settings.set_searchable_fields(vec!["id".to_string()]);
})
.unwrap();
wtxn.commit().unwrap();
let rtxn = index.write_txn().unwrap();
let docs: StdResult<Vec<_>, _> = index.all_documents(&rtxn).unwrap().collect();
let docs = docs.unwrap();
assert_eq!(docs.len(), 5);
}
}