Skip to content

fix: upgrade RTL version to avoid peer-deps mismatch #13738

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jan 28, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docusaurus/docs/running-tests.md
Original file line number Diff line number Diff line change
@@ -72,12 +72,12 @@ Different projects choose different testing tradeoffs based on how often compone

```js
import React from 'react';
import ReactDOM from 'react-dom';
import ReactDOMClient from 'react-dom/client';
import App from './App';

it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(<App />, div);
ReactDOMClient.createRoot(div).render(<App />);
});
```

@@ -92,13 +92,13 @@ If you’d like to test components in isolation from the child components they r
To install `react-testing-library` and `jest-dom`, you can run:

```sh
npm install --save @testing-library/react @testing-library/jest-dom
npm install --save @testing-library/react @testing-library/dom @testing-library/jest-dom
```

Alternatively you may use `yarn`:

```sh
yarn add @testing-library/react @testing-library/jest-dom
yarn add @testing-library/react @testing-library/dom @testing-library/jest-dom
```

If you want to avoid boilerplate in your test files, you can create a [`src/setupTests.js`](#initializing-test-environment) file:
70 changes: 28 additions & 42 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 5 additions & 4 deletions packages/cra-template-typescript/template.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
{
"package": {
"dependencies": {
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^13.0.0",
"@testing-library/dom": "^10.4.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.1.0",
"@testing-library/user-event": "^13.2.1",
"@types/jest": "^27.0.1",
"@types/node": "^16.7.13",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",
"typescript": "^4.4.2",
"web-vitals": "^2.1.0"
},
5 changes: 3 additions & 2 deletions packages/cra-template/template.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
{
"package": {
"dependencies": {
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^13.0.0",
"@testing-library/dom": "^10.4.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.1.0",
"@testing-library/user-event": "^13.2.1",
"web-vitals": "^2.1.0"
},
Original file line number Diff line number Diff line change
@@ -6,14 +6,14 @@
*/

import React from 'react';
import ReactDOM from 'react-dom';
import ReactDOMClient from 'react-dom/client';
import NodePath from './BaseUrl';

describe('BASE_URL', () => {
it('renders without crashing', () => {
const div = document.createElement('div');
return new Promise(resolve => {
ReactDOM.render(<NodePath onReady={resolve} />, div);
ReactDOMClient.createRoot(div).render(<NodePath onReady={resolve} />);
});
});
});
Original file line number Diff line number Diff line change
@@ -6,12 +6,15 @@
*/

import React from 'react';
import ReactDOM from 'react-dom';
import ReactDOMClient from 'react-dom/client';
import ExpandEnvVariables from './ExpandEnvVariables';
import { flushSync } from 'react-dom';

describe('expand .env variables', () => {
it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(<ExpandEnvVariables />, div);
flushSync(() => {
ReactDOMClient.createRoot(div).render(<ExpandEnvVariables />);
});
});
});
Original file line number Diff line number Diff line change
@@ -6,12 +6,15 @@
*/

import React from 'react';
import ReactDOM from 'react-dom';
import FileEnvVariables from './FileEnvVariables';
import ReactDOMClient from 'react-dom/client';
import { flushSync } from 'react-dom';

describe('.env variables', () => {
it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(<FileEnvVariables />, div);
flushSync(() => {
ReactDOMClient.createRoot(div).render(<FileEnvVariables />);
});
});
});
Original file line number Diff line number Diff line change
@@ -6,12 +6,15 @@
*/

import React from 'react';
import ReactDOM from 'react-dom';
import PublicUrl from './PublicUrl';
import ReactDOMClient from 'react-dom/client';
import { flushSync } from 'react-dom';

describe('PUBLIC_URL', () => {
it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(<PublicUrl />, div);
flushSync(() => {
ReactDOMClient.createRoot(div).render(<PublicUrl />);
});
});
});
Original file line number Diff line number Diff line change
@@ -6,12 +6,15 @@
*/

import React from 'react';
import ReactDOM from 'react-dom';
import ShellEnvVariables from './ShellEnvVariables';
import ReactDOMClient from 'react-dom/client';
import { flushSync } from 'react-dom';

describe('shell env variables', () => {
it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(<ShellEnvVariables />, div);
flushSync(() => {
ReactDOMClient.createRoot(div).render(<ShellEnvVariables />);
});
});
});
Original file line number Diff line number Diff line change
@@ -6,14 +6,16 @@
*/

import React from 'react';
import ReactDOM from 'react-dom';
import ArrayDestructuring from './ArrayDestructuring';
import ReactDOMClient from 'react-dom/client';

describe('array destructuring', () => {
it('renders without crashing', () => {
const div = document.createElement('div');
return new Promise(resolve => {
ReactDOM.render(<ArrayDestructuring onReady={resolve} />, div);
ReactDOMClient.createRoot(div).render(
<ArrayDestructuring onReady={resolve} />
);
});
});
});
Original file line number Diff line number Diff line change
@@ -6,14 +6,14 @@
*/

import React from 'react';
import ReactDOM from 'react-dom';
import ArraySpread from './ArraySpread';
import ReactDOMClient from 'react-dom/client';

describe('array spread', () => {
it('renders without crashing', () => {
const div = document.createElement('div');
return new Promise(resolve => {
ReactDOM.render(<ArraySpread onReady={resolve} />, div);
ReactDOMClient.createRoot(div).render(<ArraySpread onReady={resolve} />);
});
});
});
Original file line number Diff line number Diff line change
@@ -6,14 +6,14 @@
*/

import React from 'react';
import ReactDOM from 'react-dom';
import AsyncAwait from './AsyncAwait';
import ReactDOMClient from 'react-dom/client';

describe('async/await', () => {
it('renders without crashing', () => {
const div = document.createElement('div');
return new Promise(resolve => {
ReactDOM.render(<AsyncAwait onReady={resolve} />, div);
ReactDOMClient.createRoot(div).render(<AsyncAwait onReady={resolve} />);
});
});
});
Original file line number Diff line number Diff line change
@@ -6,14 +6,16 @@
*/

import React from 'react';
import ReactDOM from 'react-dom';
import ClassProperties from './ClassProperties';
import ReactDOMClient from 'react-dom/client';

describe('class properties', () => {
it('renders without crashing', () => {
const div = document.createElement('div');
return new Promise(resolve => {
ReactDOM.render(<ClassProperties onReady={resolve} />, div);
ReactDOMClient.createRoot(div).render(
<ClassProperties onReady={resolve} />
);
});
});
});
Original file line number Diff line number Diff line change
@@ -6,14 +6,16 @@
*/

import React from 'react';
import ReactDOM from 'react-dom';
import ComputedProperties from './ComputedProperties';
import ReactDOMClient from 'react-dom/client';

describe('computed properties', () => {
it('renders without crashing', () => {
const div = document.createElement('div');
return new Promise(resolve => {
ReactDOM.render(<ComputedProperties onReady={resolve} />, div);
ReactDOMClient.createRoot(div).render(
<ComputedProperties onReady={resolve} />
);
});
});
});
Original file line number Diff line number Diff line change
@@ -6,14 +6,16 @@
*/

import React from 'react';
import ReactDOM from 'react-dom';
import CustomInterpolation from './CustomInterpolation';
import ReactDOMClient from 'react-dom/client';

describe('custom interpolation', () => {
it('renders without crashing', () => {
const div = document.createElement('div');
return new Promise(resolve => {
ReactDOM.render(<CustomInterpolation onReady={resolve} />, div);
ReactDOMClient.createRoot(div).render(
<CustomInterpolation onReady={resolve} />
);
});
});
});
Original file line number Diff line number Diff line change
@@ -6,14 +6,16 @@
*/

import React from 'react';
import ReactDOM from 'react-dom';
import DefaultParameters from './DefaultParameters';
import ReactDOMClient from 'react-dom/client';

describe('default parameters', () => {
it('renders without crashing', () => {
const div = document.createElement('div');
return new Promise(resolve => {
ReactDOM.render(<DefaultParameters onReady={resolve} />, div);
ReactDOMClient.createRoot(div).render(
<DefaultParameters onReady={resolve} />
);
});
});
});
Loading