From 145fa3a8ff105639bb0733e8e2a0ab9e6a0e562f Mon Sep 17 00:00:00 2001 From: Kerollmops Date: Tue, 21 Jan 2025 10:41:43 +0100 Subject: [PATCH] Add a test to check the facet casing is good --- crates/meilisearch/tests/search/mod.rs | 54 ++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/crates/meilisearch/tests/search/mod.rs b/crates/meilisearch/tests/search/mod.rs index 057b2b3a2..ae1bef7c4 100644 --- a/crates/meilisearch/tests/search/mod.rs +++ b/crates/meilisearch/tests/search/mod.rs @@ -1746,3 +1746,57 @@ async fn change_attributes_settings() { ) .await; } + +/// Modifying facets with different casing should work correctly +#[actix_rt::test] +async fn change_facet_casing() { + let server = Server::new().await; + let index = server.index("test"); + + let (response, code) = index + .update_settings(json!({ + "filterableAttributes": ["dog"], + })) + .await; + assert_eq!("202", code.as_str(), "{:?}", response); + index.wait_task(response.uid()).await; + + let (response, _code) = index + .add_documents( + json!([ + { + "id": 1, + "dog": "Bouvier Bernois" + } + ]), + None, + ) + .await; + index.wait_task(response.uid()).await; + + let (response, _code) = index + .add_documents( + json!([ + { + "id": 1, + "dog": "bouvier bernois" + } + ]), + None, + ) + .await; + index.wait_task(response.uid()).await; + + index + .search(json!({ "facets": ["dog"] }), |response, code| { + meili_snap::snapshot!(code, @"200 OK"); + meili_snap::snapshot!(meili_snap::json_string!(response["facetDistribution"]), @r###" + { + "dog": { + "bouvier bernois": 1 + } + } + "###); + }) + .await; +}