diff --git a/packages/algoliasearch-helper/src/requestBuilder.js b/packages/algoliasearch-helper/src/requestBuilder.js index b3fa36b065..8d8c2a8df3 100644 --- a/packages/algoliasearch-helper/src/requestBuilder.js +++ b/packages/algoliasearch-helper/src/requestBuilder.js @@ -277,9 +277,12 @@ var requestBuilder = { .sort() .forEach(function (facetName) { var facetValues = facetsRefinements[facetName] || []; - facetValues.sort().forEach(function (facetValue) { - facetFilters.push(facetName + ':' + facetValue); - }); + facetValues + .slice() + .sort() + .forEach(function (facetValue) { + facetFilters.push(facetName + ':' + facetValue); + }); }); var facetsExcludes = state.facetsExcludes || {}; @@ -302,9 +305,12 @@ var requestBuilder = { } var orFilters = []; - facetValues.sort().forEach(function (facetValue) { - orFilters.push(facetName + ':' + facetValue); - }); + facetValues + .slice() + .sort() + .forEach(function (facetValue) { + orFilters.push(facetName + ':' + facetValue); + }); facetFilters.push(orFilters); }); diff --git a/packages/algoliasearch-helper/test/datasets/SearchParameters/search.dataset.js b/packages/algoliasearch-helper/test/datasets/SearchParameters/search.dataset.js index 92e7bb3393..7ab07b44df 100644 --- a/packages/algoliasearch-helper/test/datasets/SearchParameters/search.dataset.js +++ b/packages/algoliasearch-helper/test/datasets/SearchParameters/search.dataset.js @@ -188,7 +188,8 @@ function getData() { index: 'test_hotels-node', disjunctiveFacets: ['city'], disjunctiveFacetsRefinements: { - city: ['New York', 'Paris'], + // Note: these are in the same order as the refinements above, not sorted + city: ['Paris', 'New York'], }, });