mirror of
https://github.com/meilisearch/MeiliSearch
synced 2024-11-27 07:14:26 +01:00
fix displayed attrs empty array bug
This commit is contained in:
parent
de4caef468
commit
4b5437a882
@ -70,7 +70,7 @@ pub fn apply_settings_update(
|
|||||||
|
|
||||||
match settings.searchable_attributes.clone() {
|
match settings.searchable_attributes.clone() {
|
||||||
UpdateState::Update(v) => {
|
UpdateState::Update(v) => {
|
||||||
if v.len() == 1 && v[0] == "*" {
|
if v.len() == 1 && v[0] == "*" || v.is_empty() {
|
||||||
schema.set_all_fields_as_indexed();
|
schema.set_all_fields_as_indexed();
|
||||||
} else {
|
} else {
|
||||||
schema.update_indexed(v)?;
|
schema.update_indexed(v)?;
|
||||||
@ -86,7 +86,7 @@ pub fn apply_settings_update(
|
|||||||
match settings.displayed_attributes.clone() {
|
match settings.displayed_attributes.clone() {
|
||||||
UpdateState::Update(v) => {
|
UpdateState::Update(v) => {
|
||||||
// safe to unwrap because len is 1
|
// safe to unwrap because len is 1
|
||||||
if v.len() == 1 && v.iter().next().unwrap() == "*" {
|
if v.len() == 1 && v.iter().next().unwrap() == "*" || v.is_empty() {
|
||||||
schema.set_all_fields_as_displayed();
|
schema.set_all_fields_as_displayed();
|
||||||
} else {
|
} else {
|
||||||
schema.update_displayed(v)?
|
schema.update_displayed(v)?
|
||||||
|
@ -426,10 +426,26 @@ async fn displayed_and_searchable_attributes_reset_to_wildcard() {
|
|||||||
let mut server = common::Server::test_server().await;
|
let mut server = common::Server::test_server().await;
|
||||||
server.update_all_settings(json!({ "searchableAttributes": ["color"], "displayedAttributes": ["color"] })).await;
|
server.update_all_settings(json!({ "searchableAttributes": ["color"], "displayedAttributes": ["color"] })).await;
|
||||||
let (response, _) = server.get_all_settings().await;
|
let (response, _) = server.get_all_settings().await;
|
||||||
|
|
||||||
assert_eq!(response["searchableAttributes"].as_array().unwrap()[0], "color");
|
assert_eq!(response["searchableAttributes"].as_array().unwrap()[0], "color");
|
||||||
assert_eq!(response["displayedAttributes"].as_array().unwrap()[0], "color");
|
assert_eq!(response["displayedAttributes"].as_array().unwrap()[0], "color");
|
||||||
|
|
||||||
server.delete_searchable_attributes().await;
|
server.delete_searchable_attributes().await;
|
||||||
server.delete_displayed_attributes().await;
|
server.delete_displayed_attributes().await;
|
||||||
|
|
||||||
|
let (response, _) = server.get_all_settings().await;
|
||||||
|
|
||||||
|
assert_eq!(response["searchableAttributes"].as_array().unwrap()[0], "*");
|
||||||
|
assert_eq!(response["displayedAttributes"].as_array().unwrap()[0], "*");
|
||||||
|
|
||||||
|
let mut server = common::Server::test_server().await;
|
||||||
|
server.update_all_settings(json!({ "searchableAttributes": ["color"], "displayedAttributes": ["color"] })).await;
|
||||||
|
let (response, _) = server.get_all_settings().await;
|
||||||
|
assert_eq!(response["searchableAttributes"].as_array().unwrap()[0], "color");
|
||||||
|
assert_eq!(response["displayedAttributes"].as_array().unwrap()[0], "color");
|
||||||
|
|
||||||
|
server.update_all_settings(json!({ "searchableAttributes": [], "displayedAttributes": [] })).await;
|
||||||
|
|
||||||
let (response, _) = server.get_all_settings().await;
|
let (response, _) = server.get_all_settings().await;
|
||||||
assert_eq!(response["searchableAttributes"].as_array().unwrap()[0], "*");
|
assert_eq!(response["searchableAttributes"].as_array().unwrap()[0], "*");
|
||||||
assert_eq!(response["displayedAttributes"].as_array().unwrap()[0], "*");
|
assert_eq!(response["displayedAttributes"].as_array().unwrap()[0], "*");
|
||||||
|
Loading…
Reference in New Issue
Block a user