Skip to content

Commit f117954

Browse files
authored
Merge pull request #109 from getsentry/feat/update-node-16
feat: use node 16 for local dev
2 parents 78b0f82 + 779950e commit f117954

13 files changed

+3437
-13243
lines changed

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v12.22.12
1+
v16.14.2

client/jest.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ const config = createJestConfig(
2323
);
2424

2525
module.exports = Object.assign(config, {
26-
testEnvironment: 'jsdom'
26+
testEnvironment: 'jest-environment-jsdom-sixteen'
2727
});

client/package-lock.json

Lines changed: 711 additions & 107 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/package.json

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"private": true,
33
"dependencies": {
4+
"jest-environment-jsdom-sixteen": "^2.0.0",
45
"@sentry/browser": "^7.7.0",
56
"@sentry/react": "^7.7.0",
67
"@sentry/replay": "^0.6.0",
@@ -13,13 +14,15 @@
1314
"react-tooltip": "^3.8.1"
1415
},
1516
"devDependencies": {
17+
"@testing-library/react": "^12.1.5",
1618
"fetch-mock": "^5.12.2",
17-
"react-scripts": "^3.3.0"
19+
"react-scripts": "^3.3.0",
20+
"react-test-renderer": "^15.6.1"
1821
},
1922
"scripts": {
2023
"start": "REACT_APP_GIT_SHA=`git rev-parse HEAD` react-scripts start",
2124
"build": "REACT_APP_GIT_SHA=`git rev-parse HEAD` react-scripts build",
22-
"test": "react-scripts test --env=jsdom",
25+
"test": "react-scripts test --env=jest-environment-jsdom-sixteen",
2326
"eject": "react-scripts eject"
2427
},
2528
"browserslist": {
@@ -35,10 +38,10 @@
3538
]
3639
},
3740
"engines": {
38-
"node": "12.22.12"
41+
"node": "16.14.2"
3942
},
4043
"volta": {
41-
"node": "12.22.12",
42-
"npm": "6.14.16"
44+
"node": "16.14.2",
45+
"npm": "8.5.0"
4346
}
4447
}

client/src/views/Loader.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import Spinner from 'react-spinkit';
33

44
function Loader() {
55
return (
6-
<div style={{height: '200px'}}>
6+
<div data-testid="loader" style={{height: '200px'}}>
77
<Spinner
88
name="cube-grid"
99
style={{position: 'relative', margin: '0 auto', top: '90px'}}

client/src/views/__tests__/Report.spec.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import ReactDOM from 'react-dom';
2+
import {render, waitFor, screen, waitForElementToBeRemoved} from '@testing-library/react';
33
import fetchMock from 'fetch-mock';
44

55
import Report from '../Report';
@@ -14,10 +14,15 @@ const exampleReport = {
1414

1515
it('should fetch the report URL corresponding to the route param', (done) => {
1616
fetchMock.get('http://example.com/storage/report.json', () => {
17-
done();
1817
fetchMock.restore();
1918
return JSON.stringify(exampleReport);
2019
});
21-
const div = document.createElement('div');
22-
ReactDOM.render(<Report match={{params: { report: 'report.json' }}}/>, div);
20+
21+
const {container} = render(<Report match={{params: { report: 'report.json' }}}/>);
22+
waitFor(() => screen.getByTestId('loader')).then(() => {
23+
waitForElementToBeRemoved(() => screen.getByTestId('loader')).then(() => {
24+
expect(container.firstChild).toMatchSnapshot();
25+
done();
26+
});
27+
});
2328
});
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`should fetch the report URL corresponding to the route param 1`] = `
4+
<div
5+
data-reactroot=""
6+
>
7+
<div
8+
class="alert alert-success"
9+
>
10+
<strong>
11+
Bingo.
12+
</strong>
13+
<!-- react-text: 15 -->
14+
Everything looks good.
15+
<!-- /react-text -->
16+
</div>
17+
<h2>
18+
<!-- react-text: 17 -->
19+
Report for
20+
<!-- /react-text -->
21+
<a
22+
class="sr-mask"
23+
href=""
24+
/>
25+
</h2>
26+
<div>
27+
<h3>
28+
URL
29+
</h3>
30+
<ul>
31+
<li>
32+
<a
33+
class="sr-mask"
34+
href=""
35+
/>
36+
</li>
37+
</ul>
38+
<!-- react-text: 24 -->
39+
<!-- /react-text -->
40+
<h3>
41+
<!-- react-text: 26 -->
42+
Errors
43+
<!-- /react-text -->
44+
<!-- react-text: 27 -->
45+
46+
<!-- /react-text -->
47+
<span
48+
class="badge"
49+
>
50+
0
51+
</span>
52+
</h3>
53+
<ul />
54+
<h3>
55+
<!-- react-text: 31 -->
56+
Warnings
57+
<!-- /react-text -->
58+
<!-- react-text: 32 -->
59+
60+
<!-- /react-text -->
61+
<span
62+
class="badge"
63+
>
64+
0
65+
</span>
66+
</h3>
67+
<ul />
68+
</div>
69+
</div>
70+
`;

0 commit comments

Comments
 (0)