diff --git a/superset/assets/spec/javascripts/explore/components/CheckboxControl_spec.jsx b/superset/assets/spec/javascripts/explore/components/CheckboxControl_spec.jsx index c022292be1cf..9e9461948185 100644 --- a/superset/assets/spec/javascripts/explore/components/CheckboxControl_spec.jsx +++ b/superset/assets/spec/javascripts/explore/components/CheckboxControl_spec.jsx @@ -19,7 +19,7 @@ /* eslint-disable no-unused-expressions */ import React from 'react'; import sinon from 'sinon'; -import { shallow } from 'enzyme'; +import { shallow, mount } from 'enzyme'; import CheckboxControl from '../../../../src/explore/components/controls/CheckboxControl'; import ControlHeader from '../../../../src/explore/components/ControlHeader'; @@ -46,4 +46,16 @@ describe('CheckboxControl', () => { const headerWrapper = controlHeader.shallow(); expect(headerWrapper.find(Checkbox)).toHaveLength(1); }); + + it('Checks the box when the label is clicked', () => { + const fullComponent = mount(); + + const spy = sinon.spy(fullComponent.instance(), 'onChange'); + + fullComponent.instance().forceUpdate(); + + fullComponent.find('label span').last().simulate('click'); + + expect(spy.calledOnce).toBe(true); + }); }); diff --git a/superset/assets/src/explore/components/controls/CheckboxControl.jsx b/superset/assets/src/explore/components/controls/CheckboxControl.jsx index 7e9afcabda8e..22dc08849dbe 100644 --- a/superset/assets/src/explore/components/controls/CheckboxControl.jsx +++ b/superset/assets/src/explore/components/controls/CheckboxControl.jsx @@ -52,6 +52,7 @@ export default class CheckboxControl extends React.Component { ); }