mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2024-12-04 23:43:51 +03:00
57ec0534b2
* Replace enzyme with React testing library in ui * Mock Math.random()
54 lines
1.2 KiB
TypeScript
54 lines
1.2 KiB
TypeScript
import React from 'react';
|
|
import { render, screen } from '@testing-library/react';
|
|
import userEvent from '@testing-library/user-event';
|
|
import { Tabs } from '../src';
|
|
import { tabs, simple10Tabs } from '../src/Tabs/data';
|
|
|
|
describe('Tabs', function () {
|
|
it('renders correctly', () => {
|
|
const { container } = render(
|
|
<Tabs
|
|
tabs={tabs}
|
|
onClick={() => {
|
|
// noop
|
|
}}
|
|
/>
|
|
);
|
|
expect(container.firstChild).toMatchSnapshot();
|
|
});
|
|
|
|
it('renders with props', () => {
|
|
const { container } = render(
|
|
<Tabs
|
|
tabs={tabs}
|
|
onClick={() => {
|
|
// noop
|
|
}}
|
|
selected="Tab2"
|
|
/>
|
|
);
|
|
expect(container.firstChild).toMatchSnapshot();
|
|
});
|
|
|
|
it('renders tabs without inner components', () => {
|
|
const { container } = render(
|
|
<Tabs
|
|
tabs={simple10Tabs}
|
|
onClick={() => {
|
|
// noop
|
|
}}
|
|
selected="5"
|
|
/>
|
|
);
|
|
expect(container.firstChild).toMatchSnapshot();
|
|
});
|
|
|
|
it('should select tab', () => {
|
|
const onClick = jest.fn();
|
|
render(<Tabs tabs={tabs} onClick={onClick} />);
|
|
|
|
userEvent.click(screen.getByRole('button', { name: 'Tab1' }));
|
|
expect(onClick).toHaveBeenCalled();
|
|
});
|
|
});
|