|
1 | 1 | import React from 'react'
|
2 |
| -import { mount } from 'enzyme' |
3 |
| -import { act } from 'react-dom/test-utils' |
| 2 | +import { render, fireEvent } from '@testing-library/react' |
4 | 3 |
|
5 | 4 | import Counter from '../Counter'
|
6 |
| -import Button from '../Button' |
7 | 5 |
|
8 | 6 | test('starts off at 0 by default', () => {
|
9 |
| - const counter = mount(<Counter />) |
| 7 | + const { queryByText } = render(<Counter />) |
10 | 8 |
|
11 |
| - expect(counter).toIncludeText('You clicked 0 times') |
| 9 | + expect(queryByText('You clicked 0 times')).toBeInTheDocument() |
12 | 10 | })
|
13 | 11 |
|
14 | 12 | test('can have a different initial value', () => {
|
15 |
| - const counter = mount(<Counter initialCount={14} />) |
| 13 | + const { queryByText } = render(<Counter initialCount={14} />) |
16 | 14 |
|
17 |
| - expect(counter).toIncludeText('You clicked 14 times') |
| 15 | + expect(queryByText('You clicked 14 times')).toBeInTheDocument() |
18 | 16 | })
|
19 | 17 |
|
20 | 18 | test('updates count when Button is clicked', () => {
|
21 |
| - const counter = mount(<Counter initialCount={5} />) |
22 |
| - const button = counter.find(Button) |
23 |
| - const buttonOnClick = button.prop('onClick') |
24 |
| - |
25 |
| - if (buttonOnClick) { |
26 |
| - // simulate clicking the button by trigger onClick prop of <Button /> |
27 |
| - act(() => { |
28 |
| - buttonOnClick() |
29 |
| - }) |
30 |
| - } |
31 |
| - |
32 |
| - expect(counter).toIncludeText('You clicked 6 times') |
| 19 | + const { queryByText, getByText } = render(<Counter initialCount={5} />) |
| 20 | + |
| 21 | + fireEvent.click(getByText('Click me')) |
| 22 | + |
| 23 | + expect(queryByText('You clicked 6 times')).toBeInTheDocument() |
33 | 24 | })
|
0 commit comments