diff --git a/widgets/range-slider/__tests__/range-slider-test.js b/widgets/range-slider/__tests__/range-slider-test.js index a87d7431ae..0abb34298c 100644 --- a/widgets/range-slider/__tests__/range-slider-test.js +++ b/widgets/range-slider/__tests__/range-slider-test.js @@ -10,6 +10,20 @@ expect.extend(expectJSX); import AlgoliasearchHelper from 'algoliasearch-helper'; +describe('rangeSlider call', () => { + jsdom({useEach: true}); + const rangeSlider = require('../range-slider'); + it('throws an exception when no attributeName', () => { + const containerNode = document.createElement('div'); + expect(rangeSlider.bind(null, {containerNode})).toThrow(); + }); + + it('throws an exception when no container', () => { + const attributeName = 'myAttribute'; + expect(rangeSlider.bind(null, {attributeName})).toThrow(); + }); +}); + describe('rangeSlider()', () => { jsdom({useEach: true}); diff --git a/widgets/range-slider/range-slider.js b/widgets/range-slider/range-slider.js index 0c304be1fa..a7376aabd9 100644 --- a/widgets/range-slider/range-slider.js +++ b/widgets/range-slider/range-slider.js @@ -41,8 +41,21 @@ function rangeSlider({ step = 1, pips = true, autoHideContainer = true - }) { + } = {}) { let containerNode = utils.getContainerNode(container); + if (!containerNode || !attributeName) { + throw new Error(`Usage: +rangeSlider({ + container, + attributeName, + [ tooltips=true ], + [ templates={ header: '', footer: ''} ], + [ cssClasses={ root: null, body: null } ], + [ step=1 ], + [ pips=true ], + [ autoHideContainer=true ] +});`); + } let Slider = headerFooterHOC(require('../../components/Slider/Slider')); if (autoHideContainer === true) {