diff --git a/packages/react-bootstrap-table2/test/row-selection/selection-cell.test.js b/packages/react-bootstrap-table2/test/row-selection/selection-cell.test.js index c0069e2..02e9d85 100644 --- a/packages/react-bootstrap-table2/test/row-selection/selection-cell.test.js +++ b/packages/react-bootstrap-table2/test/row-selection/selection-cell.test.js @@ -193,5 +193,36 @@ describe('', () => { expect(wrapper.find('input').get(0).props.disabled).toBeTruthy(); }); }); + + describe('when selectionRenderer prop is defined', () => { + const DummySelection = () =>
; + const selectionRenderer = jest.fn().mockReturnValue(); + + beforeEach(() => { + selectionRenderer.mockClear(); + wrapper = shallow( + + ); + }); + + it('should render component correctly', () => { + expect(wrapper.find(DummySelection)).toHaveLength(1); + }); + + it('should call props.selectionRenderer correctly', () => { + expect(selectionRenderer).toHaveBeenCalledTimes(1); + expect(selectionRenderer).toHaveBeenCalledWith({ + mode, + checked: selected, + disabled: wrapper.prop('disabled') + }); + }); + }); }); }); diff --git a/packages/react-bootstrap-table2/test/row-selection/selection-header-cell.test.js b/packages/react-bootstrap-table2/test/row-selection/selection-header-cell.test.js index d1e4b03..73571d4 100644 --- a/packages/react-bootstrap-table2/test/row-selection/selection-header-cell.test.js +++ b/packages/react-bootstrap-table2/test/row-selection/selection-header-cell.test.js @@ -126,6 +126,36 @@ describe('', () => { expect(wrapper.find(CheckBox).get(0).props.indeterminate).toBe(indeterminate); }); }); + + describe('when props.selectionHeaderRenderer is defined', () => { + const checkedStatus = Const.CHECKBOX_STATUS_CHECKED; + const DummySelection = () =>
; + const selectionHeaderRenderer = jest.fn().mockReturnValue(); + + beforeEach(() => { + selectionHeaderRenderer.mockClear(); + wrapper = shallow( + + ); + }); + + it('should render correctly', () => { + expect(wrapper.find(DummySelection)).toHaveLength(1); + }); + + it('should call props.selectionHeaderRenderer correctly', () => { + expect(selectionHeaderRenderer).toHaveBeenCalledTimes(1); + expect(selectionHeaderRenderer).toHaveBeenCalledWith({ + mode: 'checkbox', + checked: checkedStatus === Const.CHECKBOX_STATUS_CHECKED, + indeterminate: checkedStatus === Const.CHECKBOX_STATUS_INDETERMINATE + }); + }); + }); }); });