import React from 'react'; import renderer from 'react-test-renderer'; import { render, fireEvent, screen } from '@testing-library/react'; import { Button } from './Button'; describe('Button', () => { it('renders with default props', () => { const tree = renderer.create(); expect(tree).toMatchInlineSnapshot(` `); }); it('renders with custom props', () => { const tree = renderer.create( `); }); it('checks if onClick has been called', () => { const handleClick = jest.fn(); render(); fireEvent.click(screen.getByText('Click')); expect(handleClick).toHaveBeenCalledTimes(1); }); it('checks if onKeyPress has been called', () => { const onKeyPress = jest.fn(); render(); fireEvent.keyPress(screen.getByText('Click'), { key: 'Enter', charCode: 13, code: 13, }); expect(onKeyPress).toHaveBeenCalledTimes(1); }); it('checks if disabled attribute works for click event', () => { const handleClick = jest.fn(); render( , ); fireEvent.click(screen.getByText('Click')); expect(handleClick).toHaveBeenCalledTimes(0); }); });