ui phase 11
This commit is contained in:
@@ -38,4 +38,34 @@ describe('<AdminDataTable/>', () => {
|
||||
fireEvent.click(screen.getByText('Beta'));
|
||||
expect(onRowClick).toHaveBeenCalledWith(ROWS[1]);
|
||||
});
|
||||
|
||||
it('renders the footer line only when passed', () => {
|
||||
const { rerender, container } = wrap(<AdminDataTable columns={COLUMNS} rows={ROWS} getRowKey={(r) => r.id} />);
|
||||
expect(container.querySelector('p')).not.toBeInTheDocument();
|
||||
rerender(
|
||||
<ThemeProvider>
|
||||
<AdminDataTable columns={COLUMNS} rows={ROWS} getRowKey={(r) => r.id} footer="Showing 1–2 of 2" />
|
||||
</ThemeProvider>,
|
||||
);
|
||||
expect(screen.getByText('Showing 1–2 of 2')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('fires onSortChange with the column key when a sortable header is clicked', () => {
|
||||
const onSortChange = jest.fn();
|
||||
const sortableColumns: AdminTableColumn<Row>[] = [
|
||||
{ key: 'id', header: 'ID', render: (r) => r.id, sortable: true },
|
||||
{ key: 'name', header: 'Name', render: (r) => r.name },
|
||||
];
|
||||
wrap(
|
||||
<AdminDataTable
|
||||
columns={sortableColumns}
|
||||
rows={ROWS}
|
||||
getRowKey={(r) => r.id}
|
||||
sort={{ key: 'id', direction: 'asc' }}
|
||||
onSortChange={onSortChange}
|
||||
/>,
|
||||
);
|
||||
fireEvent.click(screen.getByRole('button', { name: /ID/ }));
|
||||
expect(onSortChange).toHaveBeenCalledWith('id');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user