diff --git a/superset-frontend/spec/javascripts/explore/components/DateFilterControl_spec.jsx b/superset-frontend/spec/javascripts/explore/components/DateFilterControl_spec.jsx index 49ac9506833..1a56b50fb05 100644 --- a/superset-frontend/spec/javascripts/explore/components/DateFilterControl_spec.jsx +++ b/superset-frontend/spec/javascripts/explore/components/DateFilterControl_spec.jsx @@ -81,6 +81,19 @@ describe('DateFilterControl', () => { expect(close).toBeCalled(); }); + it('should handle null value', () => { + const open = jest.fn(); + const close = jest.fn(); + const props = { + ...defaultProps, + value: null, + onOpenDateFilterControl: open, + onCloseDateFilterControl: close, + }; + + expect(mount()).toExist(); + }); + it('renders two tabs in popover', () => { const popoverContent = wrapper.find(Popover).first().props().content; const popoverContentWrapper = mount(popoverContent); diff --git a/superset-frontend/src/explore/components/controls/DateFilterControl.jsx b/superset-frontend/src/explore/components/controls/DateFilterControl.jsx index 70dc0db1404..c951bd1b9eb 100644 --- a/superset-frontend/src/explore/components/controls/DateFilterControl.jsx +++ b/superset-frontend/src/explore/components/controls/DateFilterControl.jsx @@ -236,11 +236,11 @@ class DateFilterControl extends React.Component { }; const { value } = props; - if (value.indexOf(SEPARATOR) >= 0) { + if (value && value.indexOf(SEPARATOR) >= 0) { this.state = { ...this.state, ...getStateFromSeparator(value) }; } else if (COMMON_TIME_FRAMES.indexOf(value) >= 0) { this.state = { ...this.state, ...getStateFromCommonTimeFrame(value) }; - } else { + } else if (value) { this.state = { ...this.state, ...getStateFromCustomRange(value) }; }