Skip to content

Commit e9e16eb

Browse files
committed
Wip trying to migrate from jest to vitest
1 parent 46d0b68 commit e9e16eb

File tree

12 files changed

+833
-19
lines changed

12 files changed

+833
-19
lines changed

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
],
66
"scripts": {
77
"build": "node bin/build_javascript.js && node bin/build_styles.js",
8-
"test": "yarn workspaces run jest",
8+
"test": "vitest src --run",
9+
"test:vitest": "yarn workspaces run vitest --run",
10+
"test:jest": "yarn workspaces run jest",
911
"lint": "yarn workspaces run eslint src test",
1012
"format": "prettier src/*/assets/src/*.ts src/*/assets/test/*.js {,src/*/}*.{json,md} --write",
1113
"check-lint": "yarn lint --no-fix",
@@ -31,7 +33,8 @@
3133
"prettier": "^2.2.1",
3234
"rollup": "^3.7.0",
3335
"tslib": "^2.3.1",
34-
"typescript": "^4.4.4"
36+
"typescript": "^4.4.4",
37+
"vitest": "^0.34.6"
3538
},
3639
"eslintConfig": {
3740
"root": true,

src/Notify/assets/test/controller.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ describe('NotifyController', () => {
4141
afterEach(() => {
4242
clearDOM();
4343
application.stop();
44-
jest.clearAllMocks();
44+
vi.clearAllMocks();
4545
});
4646

47-
const addEventListenerMock = jest.fn();
48-
const removeEventListenerMock = jest.fn();
49-
const closeMock = jest.fn();
47+
const addEventListenerMock = vi.fn();
48+
const removeEventListenerMock = vi.fn();
49+
const closeMock = vi.fn();
5050

51-
global.EventSource = jest.fn().mockImplementation(() => {
51+
global.EventSource = vi.fn().mockImplementation(() => {
5252
return {
5353
addEventListener: addEventListenerMock,
5454
removeEventListener: removeEventListenerMock,

src/React/assets/vitest.config.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// vitest.config.ts
2+
import { defineConfig, mergeConfig } from 'vitest/config';
3+
import react from "@vitejs/plugin-react";
4+
import configShared from '../../../vitest.config.js'
5+
6+
export default mergeConfig(
7+
configShared,
8+
defineConfig({
9+
plugins: [react()],
10+
})
11+
);

src/Svelte/assets/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"module": "dist/register_controller.js",
66
"version": "1.0.0",
77
"license": "MIT",
8+
"type": "module",
89
"symfony": {
910
"controllers": {
1011
"svelte": {
@@ -25,6 +26,7 @@
2526
},
2627
"devDependencies": {
2728
"@hotwired/stimulus": "^3.0.0",
29+
"@sveltejs/vite-plugin-svelte": "^2.4.6",
2830
"@types/webpack-env": "^1.16",
2931
"svelte": "^3.0",
3032
"svelte-jester": "^2.3"

src/Svelte/assets/vitest.config.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// vitest.config.ts
2+
import { defineConfig, mergeConfig } from 'vitest/config';
3+
import { svelte } from "@sveltejs/vite-plugin-svelte";
4+
import configShared from '../../../vitest.config.js'
5+
6+
export default mergeConfig(
7+
configShared,
8+
defineConfig({
9+
plugins: [svelte()],
10+
})
11+
);

src/Turbo/assets/test/turbo_stream_controller.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ describe('TurboStreamController', () => {
2424
let container;
2525

2626
beforeEach(() => {
27-
global.EventSource = jest.fn(() => ({
28-
addEventListener: jest.fn(),
29-
removeEventListener: jest.fn(),
30-
close: jest.fn(),
27+
global.EventSource = vi.fn(() => ({
28+
addEventListener: vi.fn(),
29+
removeEventListener: vi.fn(),
30+
close: vi.fn(),
3131
}));
3232

3333
container = mountDOM(

src/Vue/assets/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"devDependencies": {
3131
"@hotwired/stimulus": "^3.0.0",
3232
"@types/webpack-env": "^1.16",
33+
"@vitejs/plugin-vue": "^4.4.0",
3334
"@vue/vue3-jest": "^27.0.0",
3435
"ts-jest": "^27.1.5",
3536
"vue": "^3.0"

src/Vue/assets/vitest.config.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// vitest.config.ts
2+
import { defineConfig, mergeConfig } from 'vitest/config';
3+
import vue from "@vitejs/plugin-vue";
4+
import configShared from '../../../vitest.config.js'
5+
6+
export default mergeConfig(
7+
configShared,
8+
defineConfig({
9+
plugins: [vue()],
10+
})
11+
);

test/setup-vitest.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/*
2+
* This file is part of the Symfony package.
3+
*
4+
* (c) Fabien Potencier <[email protected]>
5+
*
6+
* For the full copyright and license information, please view the LICENSE
7+
* file that was distributed with this source code.
8+
*/
9+
10+
'use strict';
11+
12+
import '@symfony/stimulus-testing/setup';
13+
import '@testing-library/jest-dom';

tsconfig.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,6 @@
1818
"jsx": "react"
1919
},
2020
"exclude": ["src/*/assets/dist"],
21-
"include": ["src/*/assets/src", "src/*/assets/test"]
21+
"include": ["src/*/assets/src", "src/*/assets/test"],
22+
"types": ["vite/client", "vitest/globals"]
2223
}

vitest.config.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// vitest.config.ts
2+
import { defineConfig } from 'vitest/config';
3+
import path from 'path';
4+
5+
export default defineConfig({
6+
test: {
7+
globals: true,
8+
environment: 'jsdom',
9+
setupFiles: [path.join(__dirname, 'test', 'setup-vitest.js')],
10+
coverage: {
11+
reporter: ['text', 'html'],
12+
},
13+
}
14+
});

0 commit comments

Comments
 (0)