Add a settings API test

This commit is contained in:
ManyTheFish 2025-03-03 16:08:21 +01:00
parent d35470e29b
commit 0401c4e511

View File

@ -1,3 +1,5 @@
use meili_snap::{json_string, snapshot};
use crate::common::Server; use crate::common::Server;
use crate::json; use crate::json;
@ -510,3 +512,62 @@ async fn set_and_reset_distinct_attribute_with_dedicated_route() {
assert_eq!(response, json!(null)); assert_eq!(response, json!(null));
} }
#[actix_rt::test]
async fn granular_filterable_attributes() {
let server = Server::new().await;
let index = server.index("test");
index.create(None).await;
let (response, code) =
index.update_settings(json!({ "filterableAttributes": [
{ "patterns": ["name"], "features": { "facetSearch": true, "filter": {"equality": true, "comparison": false} } },
{ "patterns": ["age"], "features": { "facetSearch": false, "filter": {"equality": true, "comparison": true} } },
{ "patterns": ["id"] }
] })).await;
assert_eq!(code, 202);
index.wait_task(response.uid()).await.succeeded();
let (response, code) = index.settings().await;
assert_eq!(code, 200, "{}", response);
snapshot!(json_string!(response["filterableAttributes"]), @r###"
[
{
"patterns": [
"name"
],
"features": {
"facetSearch": true,
"filter": {
"equality": true,
"comparison": false
}
}
},
{
"patterns": [
"age"
],
"features": {
"facetSearch": false,
"filter": {
"equality": true,
"comparison": true
}
}
},
{
"patterns": [
"id"
],
"features": {
"facetSearch": false,
"filter": {
"equality": true,
"comparison": false
}
}
}
]
"###);
}