Files
ncd-fe/packages/pl-fe/src/features/ui/components/compose-button.test.tsx
marcin mikołajczak dc7939dea5 pl-fe: Fix tests
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-10-23 19:10:49 +02:00

40 lines
1.1 KiB
TypeScript

import { fireEvent, render, screen } from '@testing-library/react';
import React from 'react';
import { IntlProvider } from 'react-intl';
import { Provider } from 'react-redux';
import { MemoryRouter } from 'react-router-dom';
import { mockStore, rootState } from 'pl-fe/jest/test-helpers';
import ComposeButton from './compose-button';
const store = mockStore(rootState);
const renderComposeButton = () => {
render(
<Provider store={store}>
<IntlProvider locale='en'>
<MemoryRouter>
<ComposeButton />
</MemoryRouter>
</IntlProvider>
</Provider>,
);
};
describe('<ComposeButton />', () => {
it('renders a button element', () => {
renderComposeButton();
expect(screen.getByRole('button')).toHaveTextContent('Compose');
});
it('dispatches the MODAL_OPEN action', () => {
renderComposeButton();
expect(store.getActions().length).toEqual(0);
fireEvent.click(screen.getByRole('button'));
expect(store.getActions()[0].type).toEqual('MODAL_CLOSE');
expect(store.getActions()[1].type).toEqual('MODAL_OPEN');
});
});