Skip to content

Commit ee8ccad

Browse files
committed
Deduplicate useFocusTrap test component
Copilot-Session: 28a6bc72-61a7-4142-933a-df469ee7461e
1 parent 14fd6ba commit ee8ccad

1 file changed

Lines changed: 15 additions & 14 deletions

File tree

packages/react/src/hooks/useFocusTrap.test.tsx

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,17 @@ jest.mock('@primer/behaviors', () => ({
1010
const mockFocusTrap = jest.mocked(focusTrap)
1111

1212
describe('useFocusTrap', () => {
13+
const TestComponent = ({
14+
disabled,
15+
restoreFocusOnCleanUp = false,
16+
}: {
17+
disabled: boolean
18+
restoreFocusOnCleanUp?: boolean
19+
}) => {
20+
const {containerRef} = useFocusTrap<HTMLDivElement>({disabled, restoreFocusOnCleanUp})
21+
return <div ref={containerRef} />
22+
}
23+
1324
beforeEach(() => {
1425
mockFocusTrap.mockReturnValue(new AbortController())
1526
})
@@ -62,11 +73,6 @@ describe('useFocusTrap', () => {
6273
const abortSpy = jest.spyOn(abortController, 'abort')
6374
mockFocusTrap.mockReturnValue(abortController)
6475

65-
const TestComponent = ({disabled}: {disabled: boolean}) => {
66-
const {containerRef} = useFocusTrap<HTMLDivElement>({disabled})
67-
return <div ref={containerRef} />
68-
}
69-
7076
const {rerender} = render(<TestComponent disabled />)
7177

7278
expect(mockFocusTrap).not.toHaveBeenCalled()
@@ -89,20 +95,15 @@ describe('useFocusTrap', () => {
8995
const nextFocusedElement = document.createElement('button')
9096
document.body.append(nextFocusedElement)
9197

92-
const TestComponent = ({disabled}: {disabled: boolean}) => {
93-
const {containerRef} = useFocusTrap<HTMLDivElement>({disabled, restoreFocusOnCleanUp: true})
94-
return <div ref={containerRef} />
95-
}
96-
97-
const {rerender} = render(<TestComponent disabled={false} />)
98+
const {rerender} = render(<TestComponent disabled={false} restoreFocusOnCleanUp />)
9899

99-
rerender(<TestComponent disabled />)
100+
rerender(<TestComponent disabled restoreFocusOnCleanUp />)
100101
nextFocusedElement.focus()
101102

102103
const focusSpy = jest.spyOn(nextFocusedElement, 'focus')
103104

104-
rerender(<TestComponent disabled={false} />)
105-
rerender(<TestComponent disabled />)
105+
rerender(<TestComponent disabled={false} restoreFocusOnCleanUp />)
106+
rerender(<TestComponent disabled restoreFocusOnCleanUp />)
106107

107108
expect(focusSpy).toHaveBeenCalled()
108109

0 commit comments

Comments
 (0)