From 211e390fd73b0fedecded5e64f29630c44fa15e5 Mon Sep 17 00:00:00 2001 From: Haroen Viaene Date: Thu, 11 Jul 2019 10:10:14 +0200 Subject: [PATCH] fix(getDisjunctiveRefinements): remove error (#725) The condition is there to prevent a refinement of a non-declared facet, however we should just return the empty state there instead ([]). See #722 --- src/SearchParameters/index.js | 4 +--- .../getDisjunctiveRefinements.js | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 test/spec/SearchParameters/getDisjunctiveRefinements.js diff --git a/src/SearchParameters/index.js b/src/SearchParameters/index.js index 2239f6a42..393cbf383 100644 --- a/src/SearchParameters/index.js +++ b/src/SearchParameters/index.js @@ -547,9 +547,7 @@ SearchParameters.prototype = { */ getDisjunctiveRefinements: function(facetName) { if (!this.isDisjunctiveFacet(facetName)) { - throw new Error( - facetName + ' is not defined in the disjunctiveFacets attribute of the helper configuration' - ); + return []; } return this.disjunctiveFacetsRefinements[facetName] || []; }, diff --git a/test/spec/SearchParameters/getDisjunctiveRefinements.js b/test/spec/SearchParameters/getDisjunctiveRefinements.js new file mode 100644 index 000000000..500b3d9ca --- /dev/null +++ b/test/spec/SearchParameters/getDisjunctiveRefinements.js @@ -0,0 +1,24 @@ +'use strict'; + +var SearchParameters = require('../../../src/SearchParameters'); + +test('getDisjunctiveRefinements returns value in facets', function() { + var state = new SearchParameters({ + disjunctiveFacets: ['test'], + disjunctiveFacetsRefinements: { + test: ['zongo'] + } + }); + + expect(state.getDisjunctiveRefinements('test')).toEqual(['zongo']); +}); + +test('getDisjunctiveRefinements returns [] if facet is not disjunctive', function() { + var state = new SearchParameters({ + disjunctiveFacetsRefinements: { + test: ['zongo'] + } + }); + + expect(state.getDisjunctiveRefinements('test')).toEqual([]); +});