// Async (for elements that appear later) await screen.findByText('Loaded')
test('loads and displays user', async () => const mockUser = name: 'John Doe' fetch.mockResolvedValueOnce( json: async () => mockUser, )
act(() => result.current.increment() )
// Don't use act directly (userEvent handles it) act(() => render(<Component />) )
jest.useRealTimers() // restore Controlled component const Toggle = () => const [on, setOn] = useState(false) return ( <button onClick=() => setOn(!on)> on ? 'ON' : 'OFF' </button> )
await user.click(button) expect(button).toHaveTextContent('ON')
// Async (for elements that appear later) await screen.findByText('Loaded')
test('loads and displays user', async () => const mockUser = name: 'John Doe' fetch.mockResolvedValueOnce( json: async () => mockUser, ) React Testing Library and Jest- The Complete Guide
act(() => result.current.increment() )
// Don't use act directly (userEvent handles it) act(() => render(<Component />) ) // Async (for elements that appear later) await screen
jest.useRealTimers() // restore Controlled component const Toggle = () => const [on, setOn] = useState(false) return ( <button onClick=() => setOn(!on)> on ? 'ON' : 'OFF' </button> ) async () =>
await user.click(button) expect(button).toHaveTextContent('ON')