Skip to content

Commit 53ada46

Browse files
committed
feat: add more tests
1 parent dcc2822 commit 53ada46

2 files changed

Lines changed: 65 additions & 6 deletions

File tree

packages/components/src/Tabs/__tests__/Tabs.test.tsx

Lines changed: 61 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import { render } from '@testing-library/react';
2-
import { createRef } from 'react';
1+
import { render, screen, waitFor } from '@testing-library/react';
2+
import { Key, createRef, useState } from 'react';
33
import { testA11y } from '@interlay/test-utils';
4+
import userEvent from '@testing-library/user-event';
45

56
import { Tabs, TabsItem } from '..';
67

@@ -40,4 +41,62 @@ describe('Tabs', () => {
4041
</Tabs>
4142
);
4243
});
44+
45+
it('should display default selected key', async () => {
46+
render(
47+
<Tabs defaultSelectedKey='2'>
48+
<TabsItem key='1' title='Title 1'>
49+
item 1
50+
</TabsItem>
51+
<TabsItem key='2' title='Title 2'>
52+
item 2
53+
</TabsItem>
54+
</Tabs>
55+
);
56+
57+
expect(screen.getByRole('tab', { name: /title 2/i })).toHaveAttribute('aria-selected', 'true');
58+
expect(screen.getByRole('tabpanel')).toHaveTextContent(/item 2$/i);
59+
});
60+
61+
it('should be able to control open tab', async () => {
62+
const Component = () => {
63+
const [state, setState] = useState<Key>('2');
64+
65+
return (
66+
<Tabs selectedKey={state} onSelectionChange={setState}>
67+
<TabsItem key='1' title='Title 1'>
68+
item 1
69+
</TabsItem>
70+
<TabsItem key='2' title='Title 2'>
71+
item 2
72+
</TabsItem>
73+
</Tabs>
74+
);
75+
};
76+
77+
render(<Component />);
78+
79+
expect(screen.getByRole('tab', { name: /title 2/i })).toHaveAttribute('aria-selected', 'true');
80+
81+
userEvent.click(screen.getByRole('tab', { name: /title 1/i }));
82+
83+
await waitFor(() => {
84+
expect(screen.getByRole('tab', { name: /title 1/i })).toHaveAttribute('aria-selected', 'true');
85+
});
86+
});
87+
88+
it('should disabled tab', async () => {
89+
render(
90+
<Tabs disabledKeys={['1']}>
91+
<TabsItem key='1' title='Title 1'>
92+
item 1
93+
</TabsItem>
94+
<TabsItem key='2' title='Title 2'>
95+
item 2
96+
</TabsItem>
97+
</Tabs>
98+
);
99+
100+
expect(screen.getByRole('tab', { name: /title 1/i })).toHaveAttribute('aria-disabled', 'true');
101+
});
43102
});

packages/components/src/Tooltip/__tests__/Tooltip.test.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1+
import { testA11y } from '@interlay/test-utils';
12
import { render } from '@testing-library/react';
23
import { createRef } from 'react';
3-
import { testA11y } from '@interlay/test-utils';
44

55
import { Tooltip } from '..';
66

77
describe('Tooltip', () => {
88
it('should render correctly', () => {
99
const wrapper = render(
10-
<Tooltip isOpen label='tooltip'>
10+
<Tooltip isOpen label='tooltip content'>
1111
trigger
1212
</Tooltip>
1313
);
@@ -19,7 +19,7 @@ describe('Tooltip', () => {
1919
const ref = createRef<HTMLDivElement>();
2020

2121
render(
22-
<Tooltip ref={ref} isOpen label='tooltip'>
22+
<Tooltip ref={ref} isOpen label='tooltip content'>
2323
trigger
2424
</Tooltip>
2525
);
@@ -29,7 +29,7 @@ describe('Tooltip', () => {
2929

3030
it('should pass a11y', async () => {
3131
await testA11y(
32-
<Tooltip isOpen label='tooltip'>
32+
<Tooltip isOpen label='tooltip content'>
3333
trigger
3434
</Tooltip>
3535
);

0 commit comments

Comments
 (0)