import React from 'react';
import renderer from 'react-test-renderer';
import { fireEvent, render, screen } from '@testing-library/react';
import '@testing-library/jest-dom';
import { FollowButton } from './FollowButton';
describe('FollowButton', () => {
it('renders with default props', () => {
const tree = renderer.create().toJSON();
expect(tree).toMatchInlineSnapshot(`
Following
`);
});
it('checks if onClick has been called', () => {
const onClick = jest.fn();
render();
fireEvent.click(screen.getByRole('button'));
expect(onClick).toHaveBeenCalledTimes(1);
});
it('renders with different text after "followed" prop change', () => {
const { rerender } = render();
// eslint-disable-next-line jest-dom/prefer-to-have-text-content
expect(screen.getByRole('button').textContent).toEqual('Follow');
rerender();
expect(screen.getByRole('button')).toHaveTextContent('Following');
});
});