Skip to content

Commit aca416c

Browse files
committed
testing setup
1 parent 6bf4b71 commit aca416c

File tree

3 files changed

+48
-3
lines changed

3 files changed

+48
-3
lines changed

.eslintrc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
"airbnb",
44
"plugin:jest/recommended",
55
"plugin:@typescript-eslint/eslint-recommended",
6-
"plugin:@typescript-eslint/recommended"
6+
"plugin:@typescript-eslint/recommended",
7+
"plugin:testing-library/react", // added in for RTL tests
8+
"plugin:jest-dom/recommended" // added in for RTL tests
79
],
810
"root": true,
9-
"plugins": ["jest", "react", "react-hooks", "@typescript-eslint"],
11+
"plugins": ["jest", "react", "react-hooks", "@typescript-eslint", "testing-library", "jest-dom"],
1012
"rules": {
1113
"arrow-parens": [2, "as-needed"],
1214
"import/no-unresolved": "off",

package.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@
2020
"ts",
2121
"tsx",
2222
"js"
23-
]
23+
],
24+
"setupFilesAfterEnv": [
25+
"@testing-library/jest-dom/extend-expect"
26+
],
27+
"testEnvironment": "jest-environment-jsdom"
2428
},
2529
"scripts": {
2630
"build": "NODE_OPTIONS=--openssl-legacy-provider webpack --mode production",
@@ -29,6 +33,8 @@
2933
"devlegacy": "webpack --mode development --watch",
3034
"test": "jest --verbose --coverage",
3135
"test-backend": "jest --verbose --coverage src/backend",
36+
"test-frontend": "jest --verbose --coverage src/app",
37+
"test-newfront": "jest --verbose --coverage src/app/__tests__new",
3238
"test-on": "./node_modules/.bin/jest $1",
3339
"docker-test-lint": "eslint --ext .js --ext .jsx src",
3440
"docs": "typedoc --json docs --inputFiles src/app --inputFiles src/backend --readme docs/readme.md",
@@ -113,6 +119,7 @@
113119
"@emotion/babel-plugin": "^11.7.2",
114120
"@testing-library/jest-dom": "^4.2.4",
115121
"@testing-library/react": "^13.4.0",
122+
"@testing-library/user-event": "^14.4.3",
116123
"@types/chai": "^4.2.14",
117124
"@types/chrome": "^0.0.119",
118125
"@types/d3": "^7.4.0",
@@ -134,13 +141,16 @@
134141
"eslint-config-airbnb": "^18.2.0",
135142
"eslint-plugin-import": "^2.22.0",
136143
"eslint-plugin-jest": "^22.21.0",
144+
"eslint-plugin-jest-dom": "^4.0.3",
137145
"eslint-plugin-jsx-a11y": "^6.3.1",
138146
"eslint-plugin-react": "^7.20.3",
139147
"eslint-plugin-react-hooks": "^1.7.0",
148+
"eslint-plugin-testing-library": "^5.10.3",
140149
"express": "^4.17.1",
141150
"jest": "^29.5.0",
142151
"jest-cli": "^26.1.0",
143152
"jest-diff": "^26.1.0",
153+
"jest-environment-jsdom": "^29.5.0",
144154
"jest-runner-eslint": "^2.0.0",
145155
"jscharting-react": "^1.2.1",
146156
"prettier": "2.8.4",

src/app/__tests__new/NewTest.tsx

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import React from 'react'
2+
import {render, screen} from '@testing-library/react'
3+
// import '@testing-library/jest-dom'
4+
import '@testing-library/jest-dom/extend-expect' // needed this to extend the jest-dom assertions (ex toHaveTextContent)
5+
// import NewHiContainer from '../containers/NewHiContainer'
6+
import MainContainer from '../containers/MainContainer'
7+
8+
9+
10+
test('Main Container should render', () => {
11+
render(<MainContainer />);
12+
screen.debug();
13+
});
14+
15+
16+
17+
// const Header = () => {
18+
// return <h1 className='title'>I am a header</h1>
19+
// };
20+
21+
22+
// test('Test should run, header renders and it has correct stuff', () => {
23+
// render(<Header />);
24+
// // Extract header
25+
// screen.debug();
26+
// // allows the DOM to be rendered
27+
28+
// const header = screen.getByRole('heading');
29+
// // Use jest-dom assertions
30+
// expect(header).toBeInTheDocument();
31+
// expect(header).toHaveTextContent('I am a header');
32+
// expect(header).toHaveClass('title');
33+
// });

0 commit comments

Comments
 (0)