From a19311bcdd3df40ba0ec5b8844ace3317e1a4bc1 Mon Sep 17 00:00:00 2001 From: eps1lon Date: Wed, 27 Mar 2024 12:42:51 +0100 Subject: [PATCH 1/3] Add warning page for ReactDOMTestUtils deprecation --- src/content/warnings/react-dom-test-utils.md | 63 ++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/content/warnings/react-dom-test-utils.md diff --git a/src/content/warnings/react-dom-test-utils.md b/src/content/warnings/react-dom-test-utils.md new file mode 100644 index 00000000000..3c8df0a1f83 --- /dev/null +++ b/src/content/warnings/react-dom-test-utils.md @@ -0,0 +1,63 @@ +--- +title: react-dom/test-utils Deprecation Warnings +--- + +## ReactDOMTestUtils.act() warning {/*reactdomtestutilsact-warning*/} + +`act` from `react-dom/test-utils` has been deprecated in favor of `act` from `react`: + +```diff +-import {act} from 'react-dom/test-utils'; ++import {act} from 'react'; +``` + +## Rest of ReactDOMTestUtils APIS {/*rest-of-reactdomtestutils-apis*/} + +All APIs except `act` have been removed. + +The React Team recommends migrating your tests to [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) for a modern and well supported testing experience. + +### ReactDOMTestUtils.renderIntoDocument {/*reactdomtestutilsrenderintodocument*/} + +`renderIntoDocument` can be replaced with `render` from `@testing-library/react`: + +```diff +-import {renderIntoDocument} from 'react-dom/test-utils'; ++import {render} from '@testing-library/react'; + +-renderIntoDocument(); ++render(); +``` + +### ReactDOMTestUtils.Simulate {/*reactdomtestutilssimulate*/} + +`Simulate` can be replaced with `fireEvent` from `@testing-library/react`. + +```diff +-import {Simulate} from 'react-dom/test-utils'; ++import {fireEvent} from '@testing-library/react'; + +const element = document.querySelector('button'); +-Simulate.click(element); ++fireEvent.click(element); +``` + +Be aware, that `fireEvent` dispatches an actual event on the element and doesn't just synthetically call the event handler. + +### List of all removed APIs {/*list-of-all-removed-apis-list-of-all-removed-apis*/} + +- `mockComponent()` +- `isElement()` +- `isElementOfType()` +- `isDOMComponent()` +- `isCompositeComponent()` +- `isCompositeComponentWithType()` +- `findAllInRenderedTree()` +- `scryRenderedDOMComponentsWithClass()` +- `findRenderedDOMComponentWithClass()` +- `scryRenderedDOMComponentsWithTag()` +- `findRenderedDOMComponentWithTag()` +- `scryRenderedComponentsWithType()` +- `findRenderedComponentWithType()` +- `renderIntoDocument` +- `Simulate` From 169020fde3e895437384583d9eab7b6f1981241a Mon Sep 17 00:00:00 2001 From: eps1lon Date: Wed, 27 Mar 2024 14:58:33 +0100 Subject: [PATCH 2/3] No diff syntax highlighting available --- src/content/warnings/react-dom-test-utils.md | 54 ++++++++++++++------ 1 file changed, 39 insertions(+), 15 deletions(-) diff --git a/src/content/warnings/react-dom-test-utils.md b/src/content/warnings/react-dom-test-utils.md index 3c8df0a1f83..08806f29b08 100644 --- a/src/content/warnings/react-dom-test-utils.md +++ b/src/content/warnings/react-dom-test-utils.md @@ -4,11 +4,18 @@ title: react-dom/test-utils Deprecation Warnings ## ReactDOMTestUtils.act() warning {/*reactdomtestutilsact-warning*/} -`act` from `react-dom/test-utils` has been deprecated in favor of `act` from `react`: +`act` from `react-dom/test-utils` has been deprecated in favor of `act` from `react`. -```diff --import {act} from 'react-dom/test-utils'; -+import {act} from 'react'; +Before: + +```js +import {act} from 'react-dom/test-utils'; +``` + +After: + +```js +import {act} from 'react'; ``` ## Rest of ReactDOMTestUtils APIS {/*rest-of-reactdomtestutils-apis*/} @@ -19,27 +26,44 @@ The React Team recommends migrating your tests to [@testing-library/react](https ### ReactDOMTestUtils.renderIntoDocument {/*reactdomtestutilsrenderintodocument*/} -`renderIntoDocument` can be replaced with `render` from `@testing-library/react`: +`renderIntoDocument` can be replaced with `render` from `@testing-library/react`. -```diff --import {renderIntoDocument} from 'react-dom/test-utils'; -+import {render} from '@testing-library/react'; +Before: --renderIntoDocument(); -+render(); +```js +import {renderIntoDocument} from 'react-dom/test-utils'; + +renderIntoDocument(); +``` + +After: + +```js +import {render} from '@testing-library/react'; + +render(); ``` ### ReactDOMTestUtils.Simulate {/*reactdomtestutilssimulate*/} `Simulate` can be replaced with `fireEvent` from `@testing-library/react`. -```diff --import {Simulate} from 'react-dom/test-utils'; -+import {fireEvent} from '@testing-library/react'; +Before: + +```js +import {Simulate} from 'react-dom/test-utils'; + +const element = document.querySelector('button'); +Simulate.click(element); +``` + +After: + +```js +import {fireEvent} from '@testing-library/react'; const element = document.querySelector('button'); --Simulate.click(element); -+fireEvent.click(element); +fireEvent.click(element); ``` Be aware, that `fireEvent` dispatches an actual event on the element and doesn't just synthetically call the event handler. From f7cd83c9116408a8f5853c1da659b1b0957a7d23 Mon Sep 17 00:00:00 2001 From: eps1lon Date: Wed, 27 Mar 2024 15:02:29 +0100 Subject: [PATCH 3/3] typos --- src/content/warnings/react-dom-test-utils.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/warnings/react-dom-test-utils.md b/src/content/warnings/react-dom-test-utils.md index 08806f29b08..794bb1d11f4 100644 --- a/src/content/warnings/react-dom-test-utils.md +++ b/src/content/warnings/react-dom-test-utils.md @@ -66,7 +66,7 @@ const element = document.querySelector('button'); fireEvent.click(element); ``` -Be aware, that `fireEvent` dispatches an actual event on the element and doesn't just synthetically call the event handler. +Be aware that `fireEvent` dispatches an actual event on the element and doesn't just synthetically call the event handler. ### List of all removed APIs {/*list-of-all-removed-apis-list-of-all-removed-apis*/}