| import React from 'react'; | |
| import { render, screen } from '@testing-library/react'; | |
| import userEvent from '@testing-library/user-event' | |
| import { Account } from './Account'; | |
| import { ErrorBoundary } from './ErrorBoundary'; | |
| describe('Account', () => { | |
| it('renders a fallback when an account error is thrown', async () => { | |
| const fallback = jest.fn(() => ( | |
| <button>Try Again</button> | |
| )); | |
| const user = userEvent.setup(); | |
| render( | |
| <ErrorBoundary fallback={fallback}> | |
| <Account /> | |
| </ErrorBoundary> | |
| ); | |
| await userEvent.click(screen.getByRole('button', { name: /try again/i }); | |
| expect(fallback).toHaveBeenCalledTimes(1); | |
| }); | |
| }); |