kafka-ui/kafka-ui-react-app/src/components/common/DynamicTextButton/__tests__/DynamicTextButton.spec.tsx
Denys Malofeiev 54bd778d9c
Fixed issue/1465 partially got rid of enzyme in tests (#1489)
* got rid of enzyme in Dropdown tests

* got rid of enzyme in DynamicTextButton tests

* got rid of enzyme in Search tests

* Revert "got rid of enzyme in Search tests"

This reverts commit cd2c5b10ab.

* got rid of enzyme in Search tests

* got rid of enzyme in SQLEditor tests

* got rid of enzyme in Connect tests

* got rid of enzyme in Connect/Details tests

* got rid of enzyme in Topics\Topic tests

* got rid of ThemeProvider in render function

* fixed redundant

* used userEvent instead of fireEvent

* fixed snapshot tests

* used screen

* rise testing-library approach

* got rid of snapshot in Search component test

* changed titles of Search component test

* fixed topics details test
2022-02-04 22:34:34 +02:00

36 lines
980 B
TypeScript

import React from 'react';
import DynamicTextButton from 'components/common/DynamicTextButton/DynamicTextButton';
import { render } from 'lib/testHelpers';
import userEvent from '@testing-library/user-event';
import { screen } from '@testing-library/react';
describe('DynamicButton', () => {
const mockCallback = jest.fn();
it('exectutes callback', () => {
render(
<DynamicTextButton
onClick={mockCallback}
title="title"
render={() => 'text'}
/>
);
userEvent.click(screen.getByTitle('title'));
expect(mockCallback).toBeCalled();
});
it('changes the text', () => {
render(
<DynamicTextButton
onClick={mockCallback}
title="title"
render={(clicked) => (clicked ? 'active' : 'default')}
/>
);
const button = screen.getByTitle('title');
expect(button).toHaveTextContent('default');
userEvent.click(button);
expect(button).toHaveTextContent('active');
});
});