Skip to content

Commit 24c0e2b

Browse files
authored
chore: Uses updated stsn testing utils (#3850)
1 parent 979d270 commit 24c0e2b

File tree

7 files changed

+104
-55
lines changed

7 files changed

+104
-55
lines changed

src/button/__tests__/button.test.tsx

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ import React from 'react';
44
import { act, fireEvent, render } from '@testing-library/react';
55

66
import { clearMessageCache } from '@cloudscape-design/component-toolkit/internal';
7-
import { renderWithSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal/testing';
7+
import {
8+
setTestSingleTabStopNavigationTarget,
9+
TestSingleTabStopNavigationProvider,
10+
} from '@cloudscape-design/component-toolkit/internal/testing';
811

912
import Button, { ButtonProps } from '../../../lib/components/button';
1013
import InternalButton from '../../../lib/components/button/internal';
@@ -811,30 +814,34 @@ describe('table grid navigation support', () => {
811814
}
812815

813816
test('does not override tab index when keyboard navigation is not active', () => {
814-
renderWithSingleTabStopNavigation(<Button id="button" />, { navigationActive: false });
817+
render(
818+
<TestSingleTabStopNavigationProvider navigationActive={false}>
819+
<Button id="button" />
820+
</TestSingleTabStopNavigationProvider>
821+
);
815822
expect(getButton('#button')).not.toHaveAttribute('tabIndex');
816823
});
817824

818825
test('overrides tab index when keyboard navigation is active', () => {
819-
const { setCurrentTarget } = renderWithSingleTabStopNavigation(
820-
<div>
826+
render(
827+
<TestSingleTabStopNavigationProvider navigationActive={true}>
821828
<Button id="button1" />
822829
<Button id="button2" />
823-
</div>
830+
</TestSingleTabStopNavigationProvider>
824831
);
825-
setCurrentTarget(getButton('#button1'));
832+
setTestSingleTabStopNavigationTarget(getButton('#button1'));
826833
expect(getButton('#button1')).toHaveAttribute('tabIndex', '0');
827834
expect(getButton('#button2')).toHaveAttribute('tabIndex', '-1');
828835
});
829836

830837
test('does not override explicit tab index with 0', () => {
831-
const { setCurrentTarget } = renderWithSingleTabStopNavigation(
832-
<div>
838+
render(
839+
<TestSingleTabStopNavigationProvider navigationActive={true}>
833840
<InternalButton id="button1" nativeButtonAttributes={{ tabIndex: -2 }} />
834841
<InternalButton id="button2" nativeButtonAttributes={{ tabIndex: -2 }} />
835-
</div>
842+
</TestSingleTabStopNavigationProvider>
836843
);
837-
setCurrentTarget(getButton('#button1'));
844+
setTestSingleTabStopNavigationTarget(getButton('#button1'));
838845
expect(getButton('#button1')).toHaveAttribute('tabIndex', '-2');
839846
expect(getButton('#button2')).toHaveAttribute('tabIndex', '-2');
840847
});

src/checkbox/__tests__/checkbox.test.tsx

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
import React, { useState } from 'react';
44
import { render } from '@testing-library/react';
55

6-
import { renderWithSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal/testing';
6+
import {
7+
setTestSingleTabStopNavigationTarget,
8+
TestSingleTabStopNavigationProvider,
9+
} from '@cloudscape-design/component-toolkit/internal/testing';
710

811
import Checkbox, { CheckboxProps } from '../../../lib/components/checkbox';
912
import InternalCheckbox from '../../../lib/components/checkbox/internal';
@@ -243,30 +246,34 @@ describe('table grid navigation support', () => {
243246
}
244247

245248
test('does not override tab index when keyboard navigation is not active', () => {
246-
renderWithSingleTabStopNavigation(<Checkbox id="checkbox" checked={false} />, { navigationActive: false });
249+
render(
250+
<TestSingleTabStopNavigationProvider navigationActive={false}>
251+
<Checkbox id="checkbox" checked={false} />
252+
</TestSingleTabStopNavigationProvider>
253+
);
247254
expect(getCheckboxInput('#checkbox')).not.toHaveAttribute('tabIndex');
248255
});
249256

250257
test('overrides tab index when keyboard navigation is active', () => {
251-
const { setCurrentTarget } = renderWithSingleTabStopNavigation(
252-
<div>
258+
render(
259+
<TestSingleTabStopNavigationProvider navigationActive={true}>
253260
<Checkbox id="checkbox1" checked={false} />
254261
<Checkbox id="checkbox2" checked={false} />
255-
</div>
262+
</TestSingleTabStopNavigationProvider>
256263
);
257-
setCurrentTarget(getCheckboxInput('#checkbox1'));
264+
setTestSingleTabStopNavigationTarget(getCheckboxInput('#checkbox1'));
258265
expect(getCheckboxInput('#checkbox1')).toHaveAttribute('tabIndex', '0');
259266
expect(getCheckboxInput('#checkbox2')).toHaveAttribute('tabIndex', '-1');
260267
});
261268

262269
test('does not override explicit tab index with 0', () => {
263-
const { setCurrentTarget } = renderWithSingleTabStopNavigation(
264-
<div>
270+
render(
271+
<TestSingleTabStopNavigationProvider navigationActive={true}>
265272
<InternalCheckbox id="checkbox1" checked={false} tabIndex={-1} />
266273
<InternalCheckbox id="checkbox2" checked={false} tabIndex={-1} />
267-
</div>
274+
</TestSingleTabStopNavigationProvider>
268275
);
269-
setCurrentTarget(getCheckboxInput('#checkbox1'));
276+
setTestSingleTabStopNavigationTarget(getCheckboxInput('#checkbox1'));
270277
expect(getCheckboxInput('#checkbox1')).toHaveAttribute('tabIndex', '-1');
271278
expect(getCheckboxInput('#checkbox2')).toHaveAttribute('tabIndex', '-1');
272279
});

src/link/__tests__/index.test.tsx

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
import React from 'react';
44
import { act, render } from '@testing-library/react';
55

6-
import { renderWithSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal/testing';
6+
import {
7+
setTestSingleTabStopNavigationTarget,
8+
TestSingleTabStopNavigationProvider,
9+
} from '@cloudscape-design/component-toolkit/internal/testing';
710
import { KeyCode } from '@cloudscape-design/test-utils-core/utils';
811

912
import FormField from '../../../lib/components/form-field';
@@ -285,23 +288,31 @@ describe('table grid navigation support', () => {
285288
}
286289

287290
test('does not override tab index for button link when keyboard navigation is not active', () => {
288-
renderWithSingleTabStopNavigation(<Link id="link" />, { navigationActive: false });
291+
render(
292+
<TestSingleTabStopNavigationProvider navigationActive={false}>
293+
<Link id="link" />
294+
</TestSingleTabStopNavigationProvider>
295+
);
289296
expect(getLink('#link')).toHaveAttribute('tabIndex', '0');
290297
});
291298

292299
test('does not override tab index for anchor link when keyboard navigation is not active', () => {
293-
renderWithSingleTabStopNavigation(<Link id="link" href="#" />, { navigationActive: false });
300+
render(
301+
<TestSingleTabStopNavigationProvider navigationActive={false}>
302+
<Link id="link" href="#" />
303+
</TestSingleTabStopNavigationProvider>
304+
);
294305
expect(getLink('#link')).not.toHaveAttribute('tabIndex');
295306
});
296307

297308
test.each([undefined, '#'])('overrides tab index when keyboard navigation is active href=%s', href => {
298-
const { setCurrentTarget } = renderWithSingleTabStopNavigation(
299-
<div>
309+
render(
310+
<TestSingleTabStopNavigationProvider navigationActive={true}>
300311
<Link id="link1" href={href} />
301312
<Link id="link2" href={href} />
302-
</div>
313+
</TestSingleTabStopNavigationProvider>
303314
);
304-
setCurrentTarget(getLink('#link1'));
315+
setTestSingleTabStopNavigationTarget(getLink('#link1'));
305316
expect(getLink('#link1')).toHaveAttribute('tabIndex', '0');
306317
expect(getLink('#link2')).toHaveAttribute('tabIndex', '-1');
307318
});

src/popover/__tests__/popover.test.tsx

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
import React from 'react';
44
import { act, render } from '@testing-library/react';
55

6-
import { renderWithSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal/testing';
6+
import {
7+
setTestSingleTabStopNavigationTarget,
8+
TestSingleTabStopNavigationProvider,
9+
} from '@cloudscape-design/component-toolkit/internal/testing';
710
import { KeyCode } from '@cloudscape-design/test-utils-core/utils';
811

912
import '../../__a11y__/to-validate-a11y';
@@ -366,29 +369,33 @@ describe('table grid navigation support', () => {
366369
}
367370

368371
test('does not override tab index when keyboard navigation is not active', () => {
369-
renderWithSingleTabStopNavigation(<Popover>Trigger</Popover>, { navigationActive: false });
372+
render(
373+
<TestSingleTabStopNavigationProvider navigationActive={false}>
374+
<Popover>Trigger</Popover>
375+
</TestSingleTabStopNavigationProvider>
376+
);
370377
expect(getTrigger()).not.toHaveAttribute('tabIndex');
371378
});
372379

373380
test('overrides tab index when keyboard navigation is active', () => {
374-
const { setCurrentTarget } = renderWithSingleTabStopNavigation(
375-
<div>
381+
render(
382+
<TestSingleTabStopNavigationProvider navigationActive={true}>
376383
<Popover id="popover1">Trigger</Popover>
377384
<Popover id="popover2">Trigger</Popover>
378-
</div>
385+
</TestSingleTabStopNavigationProvider>
379386
);
380-
setCurrentTarget(getTrigger('#popover1'));
387+
setTestSingleTabStopNavigationTarget(getTrigger('#popover1'));
381388
expect(getTrigger('#popover1')).toHaveAttribute('tabIndex', '0');
382389
expect(getTrigger('#popover2')).toHaveAttribute('tabIndex', '-1');
383390
});
384391

385392
test('does not override tab index for custom trigger', () => {
386-
const { setCurrentTarget } = renderWithSingleTabStopNavigation(
387-
<div>
393+
render(
394+
<TestSingleTabStopNavigationProvider navigationActive={true}>
388395
<Popover triggerType="custom">Trigger</Popover>
389-
</div>
396+
</TestSingleTabStopNavigationProvider>
390397
);
391-
setCurrentTarget(getTrigger());
398+
setTestSingleTabStopNavigationTarget(getTrigger());
392399
expect(getTrigger()).not.toHaveAttribute('tabIndex');
393400
});
394401
});

src/radio-group/__tests__/radio-group.test.tsx

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
import React, { useState } from 'react';
44
import { act, render } from '@testing-library/react';
55

6-
import { renderWithSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal/testing';
6+
import {
7+
setTestSingleTabStopNavigationTarget,
8+
TestSingleTabStopNavigationProvider,
9+
} from '@cloudscape-design/component-toolkit/internal/testing';
710

811
import '../../__a11y__/to-validate-a11y';
912
import RadioGroup, { RadioGroupProps } from '../../../lib/components/radio-group';
@@ -369,20 +372,22 @@ describe('table grid navigation support', () => {
369372
}
370373

371374
test('does not override tab index when keyboard navigation is not active', () => {
372-
renderWithSingleTabStopNavigation(<RadioGroup id="radio" value={null} items={[{ value: '1', label: 'One' }]} />, {
373-
navigationActive: false,
374-
});
375+
render(
376+
<TestSingleTabStopNavigationProvider navigationActive={false}>
377+
<RadioGroup id="radio" value={null} items={[{ value: '1', label: 'One' }]} />
378+
</TestSingleTabStopNavigationProvider>
379+
);
375380
expect(getRadioInput('#radio')).not.toHaveAttribute('tabIndex');
376381
});
377382

378383
test('overrides tab index when keyboard navigation is active', () => {
379-
const { setCurrentTarget } = renderWithSingleTabStopNavigation(
380-
<div>
384+
render(
385+
<TestSingleTabStopNavigationProvider navigationActive={true}>
381386
<RadioGroup id="radio1" value={null} items={[{ value: '1', label: 'One' }]} />
382387
<RadioGroup id="radio2" value={null} items={[{ value: '2', label: 'Two' }]} />
383-
</div>
388+
</TestSingleTabStopNavigationProvider>
384389
);
385-
setCurrentTarget(getRadioInput('#radio1'));
390+
setTestSingleTabStopNavigationTarget(getRadioInput('#radio1'));
386391
expect(getRadioInput('#radio1')).toHaveAttribute('tabIndex', '0');
387392
expect(getRadioInput('#radio2')).toHaveAttribute('tabIndex', '-1');
388393
});

src/table/__tests__/body-cell.test.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
import * as React from 'react';
44
import { fireEvent, render, screen, waitFor } from '@testing-library/react';
55

6-
import { renderWithSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal/testing';
6+
import {
7+
setTestSingleTabStopNavigationTarget,
8+
TestSingleTabStopNavigationProvider,
9+
} from '@cloudscape-design/component-toolkit/internal/testing';
710

811
import { LiveRegionController } from '../../../lib/components/live-region/controller.js';
912
import { TableBodyCell, TableBodyCellProps } from '../../../lib/components/table/body-cell';
@@ -336,13 +339,17 @@ describe('TableBodyCell', () => {
336339
});
337340

338341
test('does not set tab index when negative', () => {
339-
const { setCurrentTarget } = renderWithSingleTabStopNavigation(<TestComponent />, { navigationActive: true });
342+
render(
343+
<TestSingleTabStopNavigationProvider navigationActive={true}>
344+
<TestComponent />
345+
</TestSingleTabStopNavigationProvider>
346+
);
340347
const tableCell = wrapper().find('td')!.getElement();
341348

342349
expect(tableCell).not.toHaveAttribute('tabIndex');
343-
setCurrentTarget(tableCell);
350+
setTestSingleTabStopNavigationTarget(tableCell);
344351
expect(tableCell).toHaveAttribute('tabIndex', '0');
345-
setCurrentTarget(null);
352+
setTestSingleTabStopNavigationTarget(null);
346353
expect(tableCell).not.toHaveAttribute('tabIndex');
347354
});
348355

src/table/__tests__/header-cell.test.tsx

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ import * as React from 'react';
44
import { fireEvent, render } from '@testing-library/react';
55

66
import { ContainerQueryEntry } from '@cloudscape-design/component-toolkit';
7-
import { renderWithSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal/testing';
7+
import {
8+
setTestSingleTabStopNavigationTarget,
9+
TestSingleTabStopNavigationProvider,
10+
} from '@cloudscape-design/component-toolkit/internal/testing';
811

912
import TestI18nProvider from '../../../lib/components/i18n/testing';
1013
import { TableHeaderCell, TableHeaderCellProps } from '../../../lib/components/table/header-cell';
@@ -124,15 +127,17 @@ describe('i18n', () => {
124127
});
125128

126129
test('does not set tab index when negative', () => {
127-
const { setCurrentTarget } = renderWithSingleTabStopNavigation(<TestComponent />, {
128-
navigationActive: true,
129-
});
130+
render(
131+
<TestSingleTabStopNavigationProvider navigationActive={true}>
132+
<TestComponent />
133+
</TestSingleTabStopNavigationProvider>
134+
);
130135
const headerCell = document.querySelector('th')!;
131136

132137
expect(headerCell).not.toHaveAttribute('tabIndex');
133-
setCurrentTarget(headerCell);
138+
setTestSingleTabStopNavigationTarget(headerCell);
134139
expect(headerCell).toHaveAttribute('tabIndex', '0');
135-
setCurrentTarget(null);
140+
setTestSingleTabStopNavigationTarget(null);
136141
expect(headerCell).not.toHaveAttribute('tabIndex');
137142
});
138143
});

0 commit comments

Comments
 (0)