mirror of
https://github.com/meilisearch/MeiliSearch
synced 2024-11-26 14:54:27 +01:00
Add primary_key_inference test
This commit is contained in:
parent
5943100754
commit
4b166bea2b
@ -1820,6 +1820,56 @@ mod tests {
|
||||
index.add_documents(doc4).unwrap_err();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn primary_key_inference() {
|
||||
let index = TempIndex::new();
|
||||
|
||||
let doc_no_id = documents! {[{
|
||||
"title": "asdsad",
|
||||
"state": "automated",
|
||||
"priority": "normal",
|
||||
"branch_id_number": 0
|
||||
}]};
|
||||
assert!(matches!(
|
||||
index.add_documents(doc_no_id),
|
||||
Err(Error::UserError(UserError::NoPrimaryKeyCandidateFound))
|
||||
));
|
||||
|
||||
let doc_multiple_ids = documents! {[{
|
||||
"id": 228143,
|
||||
"title": "something",
|
||||
"state": "automated",
|
||||
"priority": "normal",
|
||||
"public_uid": "39c6499b",
|
||||
"project_id": 78207,
|
||||
"branch_id_number": 0
|
||||
}]};
|
||||
|
||||
let Err(Error::UserError(UserError::MultiplePrimaryKeyCandidatesFound {
|
||||
candidates
|
||||
})) =
|
||||
index.add_documents(doc_multiple_ids) else { panic!("Expected Error::UserError(MultiplePrimaryKeyCandidatesFound)") };
|
||||
|
||||
assert_eq!(candidates, vec![S("id"), S("project_id"), S("public_uid"),]);
|
||||
|
||||
let doc_inferable = documents! {[{
|
||||
"video": "test.mp4",
|
||||
"id": 228143,
|
||||
"title": "something",
|
||||
"state": "automated",
|
||||
"priority": "normal",
|
||||
"public_uid_": "39c6499b",
|
||||
"project_id_": 78207,
|
||||
"branch_id_number": 0
|
||||
}]};
|
||||
|
||||
index.add_documents(doc_inferable).unwrap();
|
||||
|
||||
let txn = index.read_txn().unwrap();
|
||||
|
||||
assert_eq!(index.primary_key(&txn).unwrap().unwrap(), "id");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn long_words_must_be_skipped() {
|
||||
let index = TempIndex::new();
|
||||
|
Loading…
Reference in New Issue
Block a user