diff --git a/components/checkbox/__tests__/group.test.js b/components/checkbox/__tests__/group.test.js index f0c5036efbd8..88f30e8e9375 100644 --- a/components/checkbox/__tests__/group.test.js +++ b/components/checkbox/__tests__/group.test.js @@ -1,5 +1,6 @@ import React from 'react'; import { mount, render } from 'enzyme'; +import Collapse from '../../collapse'; import Checkbox from '../index'; import mountTest from '../../../tests/shared/mountTest'; import rtlTest from '../../../tests/shared/rtlTest'; @@ -181,4 +182,44 @@ describe('CheckboxGroup', () => { .simulate('change'); expect(onChange).toHaveBeenCalledWith([1, 2]); }); + + // https://github.com/ant-design/ant-design/issues/21134 + it('should work when checkbox is wrapped by other components', () => { + const wrapper = mount( + + + +
+ item +
+
+
+
, + ); + wrapper + .find('.ant-collapse-item') + .at(0) + .find('.ant-collapse-header') + .simulate('click'); + wrapper + .find('.ant-checkbox-input') + .at(0) + .simulate('change'); + expect( + wrapper + .find(Checkbox.Group) + .at(0) + .state('value'), + ).toEqual(['1']); + wrapper + .find('.ant-checkbox-input') + .at(0) + .simulate('change'); + expect( + wrapper + .find(Checkbox.Group) + .at(0) + .state('value'), + ).toEqual([]); + }); });