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
+ });
+ });
+ });
});
});