Skip to content

Commit 09a5d61

Browse files
committed
test(BulkSelect): add unit tests for disabling Select none option
AssistedBy: Cursor
1 parent 29acb17 commit 09a5d61

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

packages/module/src/BulkSelect/BulkSelect.test.tsx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,4 +100,40 @@ describe('BulkSelect component', () => {
100100
expect(screen.getByText('Sélectionner la page (5)')).toBeInTheDocument();
101101
expect(screen.getByText('Tout sélectionner (10)')).toBeInTheDocument();
102102
});
103+
104+
test('should disable Select none when nothing is selected', async () => {
105+
const user = userEvent.setup();
106+
render(
107+
<BulkSelect
108+
canSelectAll
109+
pageCount={5}
110+
totalCount={10}
111+
selectedCount={0}
112+
pageSelected={false}
113+
pagePartiallySelected={false}
114+
onSelect={() => null}
115+
/>
116+
);
117+
118+
await user.click(screen.getByLabelText('Bulk select toggle'));
119+
expect(screen.getByRole('menuitem', { name: 'Select none (0)' })).toBeDisabled();
120+
});
121+
122+
test('should enable Select none when at least one row is selected', async () => {
123+
const user = userEvent.setup();
124+
render(
125+
<BulkSelect
126+
canSelectAll
127+
pageCount={5}
128+
totalCount={10}
129+
selectedCount={1}
130+
pageSelected={false}
131+
pagePartiallySelected={true}
132+
onSelect={() => null}
133+
/>
134+
);
135+
136+
await user.click(screen.getByLabelText('Bulk select toggle'));
137+
expect(screen.getByRole('menuitem', { name: 'Select none (0)' })).not.toBeDisabled();
138+
});
103139
});

0 commit comments

Comments
 (0)