Add a test to make sure we throw the right error message

This commit is contained in:
Kerollmops 2021-09-07 11:01:37 +02:00
parent fd3daa4423
commit 5989528833
No known key found for this signature in database
GPG Key ID: 92ADA4E935E71FA4
2 changed files with 24 additions and 0 deletions

View File

@ -13,6 +13,7 @@ use slice_group_by::GroupBy;
mod distinct; mod distinct;
mod filters; mod filters;
mod query_criteria; mod query_criteria;
mod sort;
pub const TEST_QUERY: &'static str = "hello world america"; pub const TEST_QUERY: &'static str = "hello world america";

View File

@ -0,0 +1,23 @@
use big_s::S;
use milli::Criterion::{Attribute, Exactness, Proximity, Typo, Words};
use milli::{AscDesc, Error, Search, UserError};
use crate::search::{self, EXTERNAL_DOCUMENTS_IDS};
#[test]
fn sort_ranking_rule_missing() {
let criteria = vec![Words, Typo, Proximity, Attribute, Exactness];
// sortables: `tag` and `asc_desc_rank`
let index = search::setup_search_index_with_criteria(&criteria);
let rtxn = index.read_txn().unwrap();
let mut search = Search::new(&rtxn, &index);
search.query(search::TEST_QUERY);
search.limit(EXTERNAL_DOCUMENTS_IDS.len());
search.authorize_typos(true);
search.optional_words(true);
search.sort_criteria(vec![AscDesc::Asc(S("tag"))]);
let result = search.execute();
assert!(matches!(result, Err(Error::UserError(UserError::SortRankingRuleMissing))));
}