Skip to content

Commit 7c5a95b

Browse files
committed
✅ test: dto 전용 테스트 스크립트 추가
1 parent accad68 commit 7c5a95b

File tree

4 files changed

+133
-118
lines changed

4 files changed

+133
-118
lines changed

server/package.json

Lines changed: 110 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -1,106 +1,110 @@
1-
{
2-
"name": "denamu-was",
3-
"version": "0.0.1",
4-
"description": "",
5-
"author": "",
6-
"private": true,
7-
"license": "UNLICENSED",
8-
"scripts": {
9-
"build": "nest build",
10-
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
11-
"start": "node dist/src/main.js",
12-
"start:dev": "nest start --watch",
13-
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
14-
"test:unit": "cross-env NODE_ENV=TEST jest --config test/jest-unit.json",
15-
"test:unit:cov": "cross-env NODE_ENV=TEST jest --config test/jest-unit.json --coverage",
16-
"test:e2e": "cross-env NODE_ENV=TEST jest --config test/jest-e2e.json",
17-
"test:e2e:debug": "cross-env NODE_ENV=debug jest --config test/jest-e2e.json",
18-
"test:e2e:cov": "cross-env NODE_ENV=TEST jest --config test/jest-e2e.json --coverage",
19-
"test": "cross-env NODE_ENV=TEST jest --config test/jest-integration.json",
20-
"test:watch": "cross-env NODE_ENV=TEST jest --config test/jest-integration.json --watch",
21-
"test:cov": "cross-env NODE_ENV=TEST jest --config test/jest-integration.json --coverage",
22-
"typeorm": "typeorm-ts-node-commonjs",
23-
"migration:create": "cross-env NODE_ENV=PROD npm run typeorm -- migration:create",
24-
"prod:migration:generate": "cross-env NODE_ENV=PROD npm run typeorm -- migration:generate -d dataSource.ts",
25-
"local:migration:generate": "cross-env NODE_ENV=LOCAL npm run typeorm -- migration:generate -d dataSource.ts"
26-
},
27-
"dependencies": {
28-
"@anthropic-ai/sdk": "^0.36.3",
29-
"@nestjs/axios": "^4.0.0",
30-
"@nestjs/common": "^10.0.0",
31-
"@nestjs/config": "^3.3.0",
32-
"@nestjs/core": "^10.0.0",
33-
"@nestjs/event-emitter": "^2.1.1",
34-
"@nestjs/jwt": "^11.0.0",
35-
"@nestjs/passport": "^11.0.5",
36-
"@nestjs/platform-express": "^10.0.0",
37-
"@nestjs/platform-socket.io": "^10.4.8",
38-
"@nestjs/schedule": "^4.1.1",
39-
"@nestjs/swagger": "^8.0.1",
40-
"@nestjs/typeorm": "^10.0.2",
41-
"@nestjs/websockets": "^10.4.8",
42-
"@willsoto/nestjs-prometheus": "^6.0.2",
43-
"@woowa-babble/random-nickname": "^1.0.2",
44-
"axios": "^1.8.4",
45-
"bcrypt": "^5.1.1",
46-
"class-transformer": "^0.5.1",
47-
"class-validator": "^0.14.1",
48-
"cookie-parser": "^1.4.7",
49-
"cross-env": "^7.0.3",
50-
"fast-xml-parser": "^4.5.1",
51-
"html-escaper": "^3.0.3",
52-
"ioredis": "^5.4.1",
53-
"lodash": "^4.17.21",
54-
"mysql2": "^3.11.3",
55-
"nest-winston": "^1.9.7",
56-
"node-cron": "^3.0.3",
57-
"node-html-parser": "^7.0.1",
58-
"nodemailer": "^6.9.16",
59-
"passport-jwt": "^4.0.1",
60-
"pm2": "^5.4.2",
61-
"prom-client": "^15.1.3",
62-
"reflect-metadata": "^0.2.0",
63-
"rxjs": "^7.8.1",
64-
"sanitize-html": "^2.14.0",
65-
"typeorm": "^0.3.20",
66-
"uuid": "^11.1.0",
67-
"winston": "^3.16.0",
68-
"winston-daily-rotate-file": "^5.0.0"
69-
},
70-
"devDependencies": {
71-
"@nestjs/cli": "^10.0.0",
72-
"@nestjs/schematics": "^10.0.0",
73-
"@nestjs/testing": "^10.0.0",
74-
"@testcontainers/mysql": "^10.16.0",
75-
"@testcontainers/redis": "^10.16.0",
76-
"@types/bcrypt": "^5.0.2",
77-
"@types/cookie-parser": "^1.4.7",
78-
"@types/eventsource": "^1.1.15",
79-
"@types/express": "^5.0.0",
80-
"@types/jest": "^29.5.2",
81-
"@types/lodash": "^4.17.13",
82-
"@types/node": "^20.3.1",
83-
"@types/nodemailer": "^6.4.16",
84-
"@types/passport-jwt": "^4.0.1",
85-
"@types/sanitize-html": "^2.13.0",
86-
"@types/supertest": "^6.0.0",
87-
"@types/uuid": "^10.0.0",
88-
"@typescript-eslint/eslint-plugin": "^8.0.0",
89-
"@typescript-eslint/parser": "^8.0.0",
90-
"eslint": "^9.0.0",
91-
"eslint-config-prettier": "^9.0.0",
92-
"eslint-plugin-prettier": "^5.0.0",
93-
"eventsource": "^2.0.2",
94-
"ioredis-mock": "^8.9.0",
95-
"jest": "^29.5.0",
96-
"prettier": "^3.0.0",
97-
"source-map-support": "^0.5.21",
98-
"supertest": "^7.0.0",
99-
"testcontainers": "^10.16.0",
100-
"ts-jest": "^29.1.0",
101-
"ts-loader": "^9.4.3",
102-
"ts-node": "^10.9.1",
103-
"tsconfig-paths": "^4.2.0",
104-
"typescript": "^5.1.3"
105-
}
106-
}
1+
{
2+
"name": "denamu-was",
3+
"version": "0.0.1",
4+
"description": "",
5+
"author": "",
6+
"private": true,
7+
"license": "UNLICENSED",
8+
"scripts": {
9+
"build": "nest build",
10+
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
11+
"start": "node dist/src/main.js",
12+
"start:dev": "nest start --watch",
13+
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
14+
"test:unit": "cross-env NODE_ENV=TEST jest --config test/jest-unit.json",
15+
"test:unit:cov": "cross-env NODE_ENV=TEST jest --config test/jest-unit.json --coverage",
16+
"test:unit:watch": "cross-env NODE_ENV=TEST jest --config test/jest-unit.json --watch",
17+
"test:e2e": "cross-env NODE_ENV=TEST jest --config test/jest-e2e.json",
18+
"test:e2e:cov": "cross-env NODE_ENV=TEST jest --config test/jest-e2e.json --coverage",
19+
"test:e2e:watch": "cross-env NODE_ENV=TEST jest --config test/jest-e2e.json --watch",
20+
"test:dto": "cross-env NODE_ENV=TEST jest --config test/jest-dto.json",
21+
"test:dto:cov": "cross-env NODE_ENV=TEST jest --config test/jest-dto.json --coverage",
22+
"test:dto:watch": "cross-env NODE_ENV=TEST jest --config test/jest-dto.json --watch",
23+
"test": "cross-env NODE_ENV=TEST jest --config test/jest-integration.json",
24+
"test:cov": "cross-env NODE_ENV=TEST jest --config test/jest-integration.json --coverage",
25+
"test:watch": "cross-env NODE_ENV=TEST jest --config test/jest-integration.json --watch",
26+
"typeorm": "typeorm-ts-node-commonjs",
27+
"migration:create": "cross-env NODE_ENV=PROD npm run typeorm -- migration:create",
28+
"prod:migration:generate": "cross-env NODE_ENV=PROD npm run typeorm -- migration:generate -d dataSource.ts",
29+
"local:migration:generate": "cross-env NODE_ENV=LOCAL npm run typeorm -- migration:generate -d dataSource.ts"
30+
},
31+
"dependencies": {
32+
"@anthropic-ai/sdk": "^0.36.3",
33+
"@nestjs/axios": "^4.0.0",
34+
"@nestjs/common": "^10.0.0",
35+
"@nestjs/config": "^3.3.0",
36+
"@nestjs/core": "^10.0.0",
37+
"@nestjs/event-emitter": "^2.1.1",
38+
"@nestjs/jwt": "^11.0.0",
39+
"@nestjs/passport": "^11.0.5",
40+
"@nestjs/platform-express": "^10.0.0",
41+
"@nestjs/platform-socket.io": "^10.4.8",
42+
"@nestjs/schedule": "^4.1.1",
43+
"@nestjs/swagger": "^8.0.1",
44+
"@nestjs/typeorm": "^10.0.2",
45+
"@nestjs/websockets": "^10.4.8",
46+
"@willsoto/nestjs-prometheus": "^6.0.2",
47+
"@woowa-babble/random-nickname": "^1.0.2",
48+
"axios": "^1.8.4",
49+
"bcrypt": "^5.1.1",
50+
"class-transformer": "^0.5.1",
51+
"class-validator": "^0.14.1",
52+
"cookie-parser": "^1.4.7",
53+
"cross-env": "^7.0.3",
54+
"fast-xml-parser": "^4.5.1",
55+
"html-escaper": "^3.0.3",
56+
"ioredis": "^5.4.1",
57+
"lodash": "^4.17.21",
58+
"mysql2": "^3.11.3",
59+
"nest-winston": "^1.9.7",
60+
"node-cron": "^3.0.3",
61+
"node-html-parser": "^7.0.1",
62+
"nodemailer": "^6.9.16",
63+
"passport-jwt": "^4.0.1",
64+
"pm2": "^5.4.2",
65+
"prom-client": "^15.1.3",
66+
"reflect-metadata": "^0.2.0",
67+
"rxjs": "^7.8.1",
68+
"sanitize-html": "^2.14.0",
69+
"typeorm": "^0.3.20",
70+
"uuid": "^11.1.0",
71+
"winston": "^3.16.0",
72+
"winston-daily-rotate-file": "^5.0.0"
73+
},
74+
"devDependencies": {
75+
"@nestjs/cli": "^10.0.0",
76+
"@nestjs/schematics": "^10.0.0",
77+
"@nestjs/testing": "^10.0.0",
78+
"@testcontainers/mysql": "^10.16.0",
79+
"@testcontainers/redis": "^10.16.0",
80+
"@types/bcrypt": "^5.0.2",
81+
"@types/cookie-parser": "^1.4.7",
82+
"@types/eventsource": "^1.1.15",
83+
"@types/express": "^5.0.0",
84+
"@types/jest": "^29.5.2",
85+
"@types/lodash": "^4.17.13",
86+
"@types/node": "^20.3.1",
87+
"@types/nodemailer": "^6.4.16",
88+
"@types/passport-jwt": "^4.0.1",
89+
"@types/sanitize-html": "^2.13.0",
90+
"@types/supertest": "^6.0.0",
91+
"@types/uuid": "^10.0.0",
92+
"@typescript-eslint/eslint-plugin": "^8.0.0",
93+
"@typescript-eslint/parser": "^8.0.0",
94+
"eslint": "^9.0.0",
95+
"eslint-config-prettier": "^9.0.0",
96+
"eslint-plugin-prettier": "^5.0.0",
97+
"eventsource": "^2.0.2",
98+
"ioredis-mock": "^8.9.0",
99+
"jest": "^29.5.0",
100+
"prettier": "^3.0.0",
101+
"source-map-support": "^0.5.21",
102+
"supertest": "^7.0.0",
103+
"testcontainers": "^10.16.0",
104+
"ts-jest": "^29.1.0",
105+
"ts-loader": "^9.4.3",
106+
"ts-node": "^10.9.1",
107+
"tsconfig-paths": "^4.2.0",
108+
"typescript": "^5.1.3"
109+
}
110+
}

server/test/activity/dto/readActivityQuery.dto.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ describe('ReadActivityQueryRequestDto Test', () => {
5757

5858
it('year가 3000년 초과이면 유효성 검사에 실패한다.', async () => {
5959
// given
60-
dto.year = 3000;
60+
dto.year = 3001;
6161

6262
// when
6363
const errors = await validate(dto);

server/test/jest-dto.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"moduleFileExtensions": ["js", "json", "ts"],
3+
"testEnvironment": "node",
4+
"rootDir": "..",
5+
"testRegex": "test/.*\\.dto.spec.ts$",
6+
"transform": {
7+
"^.+\\.(t|j)s$": "ts-jest"
8+
},
9+
"coverageDirectory": "test/coverage",
10+
"testTimeout": 10000
11+
}

server/test/jest-unit.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
{
2-
"moduleFileExtensions": ["js", "json", "ts"],
3-
"testEnvironment": "node",
4-
"rootDir": "..",
5-
"testRegex": "test/.*\\.(spec).ts$",
6-
"transform": {
7-
"^.+\\.(t|j)s$": "ts-jest"
8-
},
9-
"coverageDirectory": "test/coverage",
10-
"testTimeout": 10000
11-
}
1+
{
2+
"moduleFileExtensions": ["js", "json", "ts"],
3+
"testEnvironment": "node",
4+
"rootDir": "..",
5+
"testRegex": "test/.*\\.unit.spec.ts$",
6+
"transform": {
7+
"^.+\\.(t|j)s$": "ts-jest"
8+
},
9+
"coverageDirectory": "test/coverage",
10+
"testTimeout": 10000
11+
}

0 commit comments

Comments
 (0)