Skip to content

Commit

Permalink
Change test.
Browse files Browse the repository at this point in the history
  • Loading branch information
endrjuskr committed Aug 19, 2019
1 parent d4bb7b7 commit 80b2347
Showing 1 changed file with 43 additions and 37 deletions.
80 changes: 43 additions & 37 deletions test/MUIDataTableBody.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -276,13 +276,13 @@ describe('<TableBody />', function() {
const options = {
selectableRows: true,
selectableRowsOnClick: true,
isRowSelectable: (_, selectedRows) => (selectedRows.data.length === 1 ? false : true),
isRowSelectable: (index, selectedRows) => selectedRows.lookup[index] || selectedRows.data.length < 1,
};
const selectRowUpdate = (_, data) => (selectedRowData = data);
const toggleExpandRow = spy();
const initialSelectedRows = {
data: [{ index: 2, dataIndex: 2 }],
lookup: { 2: true },
data: [{ index: 1, dataIndex: 1 }],
lookup: { 1: true },
};

const mountWrapper = mount(
Expand Down Expand Up @@ -311,6 +311,46 @@ describe('<TableBody />', function() {
assert.strictEqual(toggleExpandRow.callCount, 0);
});

it('should gather selected row data when clicking row with selectableRowsOnClick=true when it is enabled with isRowSelectable via index.', () => {
let selectedRowData;
const options = {
selectableRows: true,
selectableRowsOnClick: true,
isRowSelectable: (index, selectedRows) => selectedRows.lookup[index] || selectedRows.data.length < 1,
};
const selectRowUpdate = (_, data) => (selectedRowData = data);
const toggleExpandRow = spy();
const initialSelectedRows = {
data: [{ index: 1, dataIndex: 1 }],
lookup: { 1: true },
};

const mountWrapper = mount(
<TableBody
data={displayData}
count={displayData.length}
columns={columns}
page={0}
rowsPerPage={10}
selectedRows={initialSelectedRows}
selectRowUpdate={selectRowUpdate}
expandedRows={[]}
toggleExpandRow={toggleExpandRow}
options={options}
searchText={''}
filterList={[]}
/>,
);

mountWrapper
.find('#MUIDataTableBodyRow-1')
.first()
.simulate('click');

assert.isDefined(selectedRowData);
assert.strictEqual(toggleExpandRow.callCount, 0);
});

it('should gather expanded row data when clicking row with expandableRows=true and expandableRowsOnClick=true.', () => {
let expandedRowData;
const options = { selectableRows: true, expandableRows: true, expandableRowsOnClick: true };
Expand Down Expand Up @@ -534,40 +574,6 @@ describe('<TableBody />', function() {
expect(html).to.contain('Test_Text');
});

it('should isRowSelectable be used to determine if row is selectable', () => {
const selectedIndex = 2;
const originalSelectedRows = {
data: [{ index: selectedIndex, dataIndex: selectedIndex }],
lookup: { [selectedIndex]: true },
};
const isRowSelectable = spy((index, selectedRows) => {
return selectedRows.lookup[index] || selectedRows.data.length < 1;
});

const options = { selectableRows: true, isRowSelectable };

const mountWrapper = mount(
<TableBody
data={displayData}
count={displayData.length}
columns={columns}
page={0}
selectedRows={originalSelectedRows}
rowsPerPage={10}
expandedRows={[]}
options={options}
searchText={''}
filterList={[]}
/>,
);

const tableSelectCellsProps = mountWrapper.find('TableSelectCell').map(t => t.props());
tableSelectCellsProps.forEach((props, i) => {
assert.equal(props.checked, i === selectedIndex);
assert.equal(props.isRowSelectable, i === selectedIndex);
});
});

it('should pass in selectedRows to isRowSelectable', () => {
const selectedIndex = 2;
const originalSelectedRows = {
Expand Down

0 comments on commit 80b2347

Please sign in to comment.