Skip to content

Commit 8e81c02

Browse files
committed
fix tests
1 parent e2c32bb commit 8e81c02

File tree

7 files changed

+1152
-134
lines changed

7 files changed

+1152
-134
lines changed

client/package-lock.json

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

client/package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"@sentry/react": "^6.19.3",
66
"@sentry/replay": "^0.2.0-18",
77
"@sentry/tracing": "^6.19.3",
8+
"jest-environment-jsdom-sixteen": "^2.0.0",
89
"prop-types": "^15.5.10",
910
"react": "^15.6.1",
1011
"react-dom": "^15.6.1",
@@ -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": {
@@ -39,6 +42,6 @@
3942
},
4043
"volta": {
4144
"node": "16.14.2",
42-
"npm": "8.7.0"
45+
"npm": "6.14.6"
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: 10 additions & 5 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';
@@ -13,11 +13,16 @@ const exampleReport = {
1313
};
1414

1515
it('should fetch the report URL corresponding to the route param', (done) => {
16-
fetchMock.get('http://example.com/storage/report.json', () => {
17-
done();
16+
fetchMock.get('undefined/report.json', () => {
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="rr-mask"
23+
href=""
24+
/>
25+
</h2>
26+
<div>
27+
<h3>
28+
URL
29+
</h3>
30+
<ul>
31+
<li>
32+
<a
33+
class="rr-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)