Skip to content

Commit 2de57fe

Browse files
kentcdoddsianschmitz
authored andcommitted
Add @testing-library to the default templates (facebook#7881)
1 parent 2c45a3c commit 2de57fe

File tree

8 files changed

+33
-13
lines changed

8 files changed

+33
-13
lines changed

package.json

+3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
"compile:lockfile": "node tasks/compile-lockfile.js"
2121
},
2222
"devDependencies": {
23+
"@testing-library/react": "^9.3.0",
24+
"@testing-library/jest-dom": "^4.2.0",
25+
"@testing-library/user-event": "^7.1.2",
2326
"alex": "^8.0.0",
2427
"eslint": "^6.1.0",
2528
"execa": "1.0.0",

packages/cra-template-typescript/template.json

+3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
{
22
"dependencies": {
3+
"@testing-library/react": "^9.3.0",
4+
"@testing-library/jest-dom": "^4.2.0",
5+
"@testing-library/user-event": "^7.1.2",
36
"@types/node": "^12.0.0",
47
"@types/react": "^16.9.0",
58
"@types/react-dom": "^16.9.0",
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import React from 'react';
2-
import ReactDOM from 'react-dom';
2+
import { render } from '@testing-library/react';
33
import App from './App';
44

5-
it('renders without crashing', () => {
6-
const div = document.createElement('div');
7-
ReactDOM.render(<App />, div);
8-
ReactDOM.unmountComponentAtNode(div);
5+
test('renders welcome heading', () => {
6+
const { getByText } = render(<App />);
7+
const linkElement = getByText(/learn react/i);
8+
expect(linkElement).toBeInTheDocument();
99
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// jest-dom adds custom jest matchers for asserting on DOM nodes.
2+
// allows you to do things like:
3+
// expect(element).toHaveTextContent(/react/i)
4+
// learn more: https://github.com/testing-library/jest-dom
5+
import '@testing-library/jest-dom/extend-expect';

packages/cra-template/template.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
{
2-
"dependencies": {}
2+
"dependencies": {
3+
"@testing-library/react": "^9.3.0",
4+
"@testing-library/jest-dom": "^4.2.0",
5+
"@testing-library/user-event": "^7.1.2"
6+
}
37
}
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import React from 'react';
2-
import ReactDOM from 'react-dom';
2+
import { render } from '@testing-library/react';
33
import App from './App';
44

5-
it('renders without crashing', () => {
6-
const div = document.createElement('div');
7-
ReactDOM.render(<App />, div);
8-
ReactDOM.unmountComponentAtNode(div);
5+
test('renders learn react link', () => {
6+
const { getByText } = render(<App />);
7+
const linkElement = getByText(/learn react/i);
8+
expect(linkElement).toBeInTheDocument();
99
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// jest-dom adds custom jest matchers for asserting on DOM nodes.
2+
// allows you to do things like:
3+
// expect(element).toHaveTextContent(/react/i)
4+
// learn more: https://github.com/testing-library/jest-dom
5+
import '@testing-library/jest-dom/extend-expect';

tasks/e2e-installs.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ function exists {
5151
# Check for accidental dependencies in package.json
5252
function checkDependencies {
5353
if ! awk '/"dependencies": {/{y=1;next}/},/{y=0; next}y' package.json | \
54-
grep -v -q -E '^\s*"react(-dom|-scripts)?"'; then
54+
grep -v -q -E '^\s*"(@testing-library\/.+)|(react(-dom|-scripts)?)"'; then
5555
echo "Dependencies are correct"
5656
else
5757
echo "There are extraneous dependencies in package.json"
@@ -62,7 +62,7 @@ function checkDependencies {
6262
# Check for accidental dependencies in package.json
6363
function checkTypeScriptDependencies {
6464
if ! awk '/"dependencies": {/{y=1;next}/},/{y=0; next}y' package.json | \
65-
grep -v -q -E '^\s*"(@types\/.+)|typescript|(react(-dom|-scripts)?)"'; then
65+
grep -v -q -E '^\s*"(@testing-library\/.+)|(@types\/.+)|typescript|(react(-dom|-scripts)?)"'; then
6666
echo "Dependencies are correct"
6767
else
6868
echo "There are extraneous dependencies in package.json"

0 commit comments

Comments
 (0)