diff --git a/functional-tests/app/app.js b/functional-tests/app/app.js
index f1f8a6d938..47d8b57780 100644
--- a/functional-tests/app/app.js
+++ b/functional-tests/app/app.js
@@ -82,6 +82,7 @@ search.addWidget(
search.addWidget(
instantsearch.widgets.currentRefinedValues({
+ autoHideContainer: false,
container: '#current-refined-values',
cssClasses: {
header: 'facet-title',
diff --git a/src/components/Slider/Slider.js b/src/components/Slider/Slider.js
index 4f7f0c1f16..87fe9b8dc9 100644
--- a/src/components/Slider/Slider.js
+++ b/src/components/Slider/Slider.js
@@ -22,6 +22,12 @@ class Slider extends React.Component {
}
render() {
+ if (this.props.range.min === this.props.range.max) {
+ // There's no need to try to render the Slider, it will not be usable
+ // and will throw
+ return null;
+ }
+
// setup pips
let pips;
if (this.props.pips === false) {
diff --git a/src/components/Slider/__tests__/Slider-test.js b/src/components/Slider/__tests__/Slider-test.js
index 9a2f64ac2c..945a827ed8 100644
--- a/src/components/Slider/__tests__/Slider-test.js
+++ b/src/components/Slider/__tests__/Slider-test.js
@@ -15,6 +15,7 @@ describe('Slider', () => {
let renderer;
let Slider;
let Nouislider;
+ let props;
beforeEach(() => {
let {createRenderer} = TestUtils;
@@ -23,6 +24,9 @@ describe('Slider', () => {
// need to be required AFTER jsdom has initialized global.window/navigator
Slider = require('../Slider.js');
Nouislider = require('react-nouislider');
+ props = {
+ range: {min: 0, max: 5000}
+ };
});
@@ -33,17 +37,22 @@ describe('Slider', () => {
animate={false}
behaviour="snap"
connect
- cssClasses={{}}
cssPrefix="ais-range-slider--"
onChange={() => {}}
pips={{density: 3, format: {to: function noRefCheck() {}}, mode: 'positions', stepped: true, values: [0, 50, 100]}}
- templateProps={{}}
+ range={props.range}
/>
);
});
+ it('should not render anything when ranges are equal', () => {
+ props.range.min = props.range.max = 8;
+ let out = render();
+ expect(out).toEqual(null);
+ });
+
function render() {
- renderer.render();
+ renderer.render();
return renderer.getRenderOutput();
}
});