Skip to content

Commit 82fea93

Browse files
authored
Update Button.test.tsx
1 parent 3f034e8 commit 82fea93

File tree

1 file changed

+42
-41
lines changed

1 file changed

+42
-41
lines changed

packages/react/src/Button/__tests__/Button.test.tsx

Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,48 @@ const StatefulLoadingButton = (props: StatefulLoadingButtonProps) => {
2525
return <Button loading={isLoading} onClick={handleClick} {...props} />
2626
}
2727

28+
describe('IconButton', () => {
29+
it('should support `className` on the outermost element', () => {
30+
const Element = () => <IconButton className={'test-class-name'} icon={SearchIcon} aria-label="Search button" />
31+
const FeatureFlagElement = () => {
32+
return (
33+
<FeatureFlags
34+
flags={{
35+
primer_react_css_modules_team: true,
36+
primer_react_css_modules_staff: true,
37+
primer_react_css_modules_ga: true,
38+
}}
39+
>
40+
<Element />
41+
</FeatureFlags>
42+
)
43+
}
44+
expect(render(<Element />).container.firstChild).toHaveClass('test-class-name')
45+
expect(render(<FeatureFlagElement />).container.firstChild).toHaveClass('test-class-name')
46+
})
47+
})
48+
49+
describe('LinkButton', () => {
50+
it('should support `className` on the outermost element', () => {
51+
const Element = () => <LinkButton className={'test-class-name'} />
52+
const FeatureFlagElement = () => {
53+
return (
54+
<FeatureFlags
55+
flags={{
56+
primer_react_css_modules_team: true,
57+
primer_react_css_modules_staff: true,
58+
primer_react_css_modules_ga: true,
59+
}}
60+
>
61+
<Element />
62+
</FeatureFlags>
63+
)
64+
}
65+
expect(render(<Element />).container.firstChild).toHaveClass('test-class-name')
66+
expect(render(<FeatureFlagElement />).container.firstChild).toHaveClass('test-class-name')
67+
})
68+
})
69+
2870
describe('Button', () => {
2971
behavesAsComponent({
3072
Component: TestButton,
@@ -320,45 +362,4 @@ describe('Button', () => {
320362
expect(tooltipEl).toBeInTheDocument()
321363
expect(triggerEl.getAttribute('aria-describedby')).toEqual(expect.stringContaining(tooltipEl.id))
322364
})
323-
324-
describe('with primer_react_css_modules_ga enabled', () => {
325-
it('iconbutton should support custom `className` along with default classnames', () => {
326-
const {container} = render(
327-
<FeatureFlags
328-
flags={{
329-
primer_react_css_modules_ga: true,
330-
}}
331-
>
332-
<IconButton className="test" aria-label="Test" icon={HeartIcon} />
333-
</FeatureFlags>,
334-
)
335-
expect(container.firstChild).toHaveClass('IconButton')
336-
})
337-
338-
it('button should support custom `className` along with default classnames', () => {
339-
const {container} = render(
340-
<FeatureFlags
341-
flags={{
342-
primer_react_css_modules_ga: true,
343-
}}
344-
>
345-
<Button className="test">Hello</Button>
346-
</FeatureFlags>,
347-
)
348-
expect(container.firstChild).toHaveClass('ButtonBase')
349-
})
350-
351-
it('linkbutton should support custom `className` along with default classnames', () => {
352-
const {container} = render(
353-
<FeatureFlags
354-
flags={{
355-
primer_react_css_modules_ga: true,
356-
}}
357-
>
358-
<LinkButton className="test">Hello</LinkButton>
359-
</FeatureFlags>,
360-
)
361-
expect(container.firstChild).toHaveClass('ButtonBase')
362-
})
363-
})
364365
})

0 commit comments

Comments
 (0)