@samitouri / QOS-React-2 / commits / 29fbf6f626

Convert ReactError-test to createRoot (#27995)

Ricky committed Jan 19, 2024 at 14:35 UTC 29fbf6f62625c4262035f931681c7b7822ca9843
1 file changed +23 -6
packages/shared/__tests__/ReactError-test.internal.js
+23 -6
@@ -9,7 +9,8 @@
9 'use strict';
10
11 let React;
12 -let ReactDOM;
12 +let ReactDOMClient;
13 +let act;
14
15 describe('ReactError', () => {
16 let globalErrorMock;
@@ -27,7 +28,8 @@ describe('ReactError', () => {
28 }
29 jest.resetModules();
30 React = require('react');
30 - ReactDOM = require('react-dom');
31 + ReactDOMClient = require('react-dom/client');
32 + act = require('internal-test-utils').act;
33 });
34
35 afterEach(() => {
@@ -39,7 +41,9 @@ describe('ReactError', () => {
41 // @gate build === "production"
42 // @gate !source
43 it('should error with minified error code', () => {
42 - expect(() => ReactDOM.render('Hi', null)).toThrowError(
44 + expect(() => {
45 + ReactDOMClient.createRoot(null);
46 + }).toThrowError(
47 'Minified React error #200; visit ' +
48 'https://react.dev/errors/200' +
49 ' for the full message or use the non-minified dev environment' +
@@ -47,12 +51,25 @@ describe('ReactError', () => {
51 );
52 });
53
50 - it('should serialize arguments', () => {
54 + // @gate build === "production"
55 + // @gate !source
56 + it('should serialize arguments', async () => {
57 function Oops() {
52 - return;
58 + return {};
59 }
60 Oops.displayName = '#wtf';
61 +
62 const container = document.createElement('div');
56 - expect(() => ReactDOM.render(<Oops />, container)).not.toThrowError();
63 + const root = ReactDOMClient.createRoot(container);
64 + await expect(async () => {
65 + await act(async () => {
66 + root.render(<Oops />);
67 + });
68 + }).rejects.toThrow(
69 + 'Minified React error #152; visit ' +
70 + 'https://reactjs.org/docs/error-decoder.html?invariant=152&args[]=%23wtf' +
71 + ' for the full message or use the non-minified dev environment' +
72 + ' for full errors and additional helpful warnings.',
73 + );
74 });
75 });