diff --git a/packages/module/src/BulkSelect/BulkSelect.test.tsx b/packages/module/src/BulkSelect/BulkSelect.test.tsx index ad76aef6..b7963fa8 100644 --- a/packages/module/src/BulkSelect/BulkSelect.test.tsx +++ b/packages/module/src/BulkSelect/BulkSelect.test.tsx @@ -100,4 +100,40 @@ describe('BulkSelect component', () => { expect(screen.getByText('Sélectionner la page (5)')).toBeInTheDocument(); expect(screen.getByText('Tout sélectionner (10)')).toBeInTheDocument(); }); + + test('should disable Select none when nothing is selected', async () => { + const user = userEvent.setup(); + render( + null} + /> + ); + + await user.click(screen.getByLabelText('Bulk select toggle')); + expect(screen.getByRole('menuitem', { name: 'Select none (0)' })).toBeDisabled(); + }); + + test('should enable Select none when at least one row is selected', async () => { + const user = userEvent.setup(); + render( + null} + /> + ); + + await user.click(screen.getByLabelText('Bulk select toggle')); + expect(screen.getByRole('menuitem', { name: 'Select none (0)' })).not.toBeDisabled(); + }); }); \ No newline at end of file diff --git a/packages/module/src/BulkSelect/BulkSelect.tsx b/packages/module/src/BulkSelect/BulkSelect.tsx index 0f0df9b1..fd702886 100644 --- a/packages/module/src/BulkSelect/BulkSelect.tsx +++ b/packages/module/src/BulkSelect/BulkSelect.tsx @@ -88,7 +88,12 @@ export const BulkSelect: FC = ({ const splitButtonDropdownItems = useMemo( () => ( <> - + {selectNoneLabel} {isDataPaginated && ( @@ -103,7 +108,7 @@ export const BulkSelect: FC = ({ )} ), - [ isDataPaginated, canSelectAll, ouiaId, selectNoneLabel, selectPageLabel, selectAllLabel, pageCount, totalCount ] + [ isDataPaginated, canSelectAll, ouiaId, selectNoneLabel, selectPageLabel, selectAllLabel, pageCount, totalCount, selectedCount ] ); const selectedLabelText = selectedLabel(selectedCount);