Skip to content

Commit 8af5bdb

Browse files
committed
NCL-8490 Migrate jest to vitest
1 parent 1154da2 commit 8af5bdb

File tree

41 files changed

+4750
-9022
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+4750
-9022
lines changed

package-lock.json

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

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,15 @@
3030
"start": "VITE_VERSION=$npm_package_version vite",
3131
"build": "VITE_VERSION=$npm_package_version vite build",
3232
"preview": "VITE_VERSION=$npm_package_version vite preview",
33-
"test": "TZ=Europe/Bratislava react-scripts test --transformIgnorePatterns \"node_modules/(?!axios)/\"",
33+
"test": "vitest",
3434
"eject": "react-scripts eject",
3535
"prepare": "husky install",
3636
"prettier-write": "prettier --write '**/*.{js,jsx,ts,tsx,json,css,scss,md}'",
3737
"prettier-check": "prettier --check '**/*.{js,jsx,ts,tsx,json,css,scss,md}'"
3838
},
3939
"eslintConfig": {
4040
"extends": [
41-
"react-app",
42-
"react-app/jest"
41+
"react-app"
4342
]
4443
},
4544
"browserslist": {
@@ -56,7 +55,6 @@
5655
},
5756
"devDependencies": {
5857
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
59-
"@types/jest": "^29.5.12",
6058
"@types/lodash-es": "^4.17.12",
6159
"@types/node": "^20.0.0",
6260
"@types/react": "^18.3.3",
@@ -65,10 +63,12 @@
6563
"@vitejs/plugin-react": "^5.0.2",
6664
"axios-mock-adapter": "^1.21.2",
6765
"husky": "^8.0.1",
66+
"jsdom": "^27.0.0",
6867
"lint-staged": "^13.0.3",
6968
"prettier": "2.8.4",
7069
"vite": "^7.1.5",
71-
"vite-tsconfig-paths": "^5.1.4"
70+
"vite-tsconfig-paths": "^5.1.4",
71+
"vitest": "^3.2.4"
7272
},
7373
"lint-staged": {
7474
"**/*.{js,jsx,ts,tsx,json,css,scss,md}": "prettier --check --ignore-unknown"

src/__tests__/AppLayout.test.tsx

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,17 @@ import { act, render } from '@testing-library/react';
22
import * as routeData from 'react-router';
33
import { MemoryRouter } from 'react-router';
44
import ResizeObserver from 'resize-observer-polyfill';
5+
import { vi } from 'vitest';
56

67
import { AppLayout } from '../AppLayout';
78

89
global.ResizeObserver = ResizeObserver;
910

10-
jest.mock('services/keycloakService');
11-
jest.mock('services/genericSettingsApi');
12-
jest.mock('services/webConfigService');
13-
jest.mock('services/broadcastService');
14-
jest.mock('contexts/ThemeContext');
15-
16-
jest.mock('react-router', () => {
17-
return {
18-
__esModule: true,
19-
...jest.requireActual('react-router'),
20-
};
21-
});
11+
vi.mock('services/keycloakService');
12+
vi.mock('services/genericSettingsApi');
13+
vi.mock('services/webConfigService');
14+
vi.mock('services/broadcastService');
15+
vi.mock('contexts/ThemeContext');
2216

2317
window.pnc = {
2418
config: {
@@ -38,7 +32,7 @@ const mockMatches = [
3832
];
3933

4034
beforeEach(() => {
41-
jest.spyOn(routeData, 'useMatches').mockReturnValue(mockMatches);
35+
vi.spyOn(routeData, 'useMatches').mockReturnValue(mockMatches);
4236
});
4337

4438
test('renders AppLayout', async () => {

src/components/ActionButton/__tests__/ActionButton.test.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import { render } from '@testing-library/react';
22
import { MemoryRouter } from 'react-router';
3+
import { vi } from 'vitest';
34

45
import { ActionButton } from 'components/ActionButton/ActionButton';
56

6-
jest.mock('components/ProtectedContent/ProtectedComponent');
7+
vi.mock('components/ProtectedContent/ProtectedComponent');
78

89
test('renders ActionButton', () => {
910
render(

src/components/AdministrationPage/__tests__/AdministrationPage.test.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
import { act, render, screen, waitFor } from '@testing-library/react';
1+
import { render, screen, waitFor } from '@testing-library/react';
2+
import { vi } from 'vitest';
23

34
import { AdministrationPage } from 'components/AdministrationPage/AdministrationPage';
45

5-
jest.mock('services/buildApi');
6-
jest.mock('services/genericSettingsApi');
7-
jest.mock('services/githubApi');
8-
jest.mock('services/uiLogger');
6+
vi.mock('services/webConfigService');
7+
vi.mock('services/buildApi');
8+
vi.mock('services/genericSettingsApi');
9+
vi.mock('services/githubApi');
10+
vi.mock('services/uiLogger');
911

1012
test('renders AdministrationPage', async () => {
1113
render(<AdministrationPage></AdministrationPage>);

src/components/ArtifactsPage/__tests__/ArtifactsPage.test.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
import { act, render, screen } from '@testing-library/react';
22
import { MemoryRouter } from 'react-router';
33
import ResizeObserver from 'resize-observer-polyfill';
4+
import { vi } from 'vitest';
45

56
import { ArtifactsPage } from 'components/ArtifactsPage/ArtifactsPage';
67

78
global.ResizeObserver = ResizeObserver;
89

9-
jest.mock('services/artifactApi');
10-
jest.mock('services/keycloakService');
11-
jest.mock('services/uiLogger');
12-
jest.mock('services/webConfigService');
10+
vi.mock('services/artifactApi');
11+
vi.mock('services/keycloakService');
12+
vi.mock('services/uiLogger');
13+
vi.mock('services/webConfigService');
1314

1415
describe('display ArtifactsPage component', () => {
1516
let artifactsMock: any;
@@ -40,6 +41,6 @@ describe('display ArtifactsPage component', () => {
4041
</MemoryRouter>
4142
);
4243
});
43-
expect(tree).toMatchSnapshot();
44+
expect(tree.container).toMatchSnapshot();
4445
});
4546
});

0 commit comments

Comments
 (0)