Skip to content
This repository was archived by the owner on Jan 28, 2026. It is now read-only.

Commit 57ef4b7

Browse files
committed
feat: Integrate Vitest for testing with configuration, add test scripts to package.json, and update TypeScript types
1 parent 530edbd commit 57ef4b7

3 files changed

Lines changed: 43 additions & 2 deletions

File tree

package.json

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
"start:dev": "nest start --watch",
1111
"start:debug": "nest start --debug --watch",
1212
"start:prod": "node dist/main",
13+
"test": "vitest run",
14+
"test:watch": "vitest",
15+
"test:ui": "vitest --ui",
16+
"test:coverage": "vitest run --coverage",
1317
"db:generate": "drizzle-kit generate",
1418
"db:migrate": "drizzle-kit migrate",
1519
"db:push": "drizzle-kit push",
@@ -59,14 +63,19 @@
5963
},
6064
"devDependencies": {
6165
"@nestjs/cli": "^10.0.0",
66+
"@nestjs/microservices": "^10.4.20",
67+
"@nestjs/testing": "^10.4.20",
6268
"@types/bcrypt": "^5.0.0",
6369
"@types/express": "^5.0.5",
6470
"@types/iconv-lite": "^0.0.1",
6571
"@types/multer": "^2.0.0",
6672
"@types/node": "^20.19.25",
6773
"@types/passport-jwt": "^3.0.9",
6874
"@types/pg": "^8.10.0",
75+
"@vitest/coverage-v8": "^4.0.15",
76+
"@vitest/ui": "^4.0.15",
6977
"iconv-lite": "^0.7.0",
70-
"prettier": "^3.0.0"
78+
"prettier": "^3.0.0",
79+
"vitest": "^4.0.15"
7180
}
7281
}

tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"noFallthroughCasesInSwitch": false,
2222
"esModuleInterop": true,
2323
"resolveJsonModule": true,
24-
"types": ["node", "multer"]
24+
"types": ["node", "multer", "vitest/globals"]
2525
}
2626
}
2727

vitest.config.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { defineConfig } from 'vitest/config';
2+
import path from 'path';
3+
4+
export default defineConfig({
5+
test: {
6+
globals: true,
7+
environment: 'node',
8+
setupFiles: ['./test/setup.ts'],
9+
include: ['src/**/*.spec.ts'],
10+
exclude: ['node_modules/**', 'dist/**', '**/*.dto.ts'],
11+
coverage: {
12+
provider: 'v8',
13+
reporter: ['text', 'json', 'html'],
14+
exclude: [
15+
'node_modules/',
16+
'dist/',
17+
'**/*.spec.ts',
18+
'**/*.test.ts',
19+
'**/*.dto.ts',
20+
'**/*.entity.ts',
21+
'**/*.interface.ts',
22+
'drizzle/',
23+
],
24+
},
25+
},
26+
resolve: {
27+
alias: {
28+
'@': path.resolve(__dirname, './src'),
29+
},
30+
},
31+
});
32+

0 commit comments

Comments
 (0)