Skip to content

Commit 1785e3e

Browse files
committed
- Working on e2e tests
1 parent d32b4c0 commit 1785e3e

36 files changed

+591
-5118
lines changed

.gitignore

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ junit.xml
1010
*.iml
1111
dist
1212
coverage
13-
samples/dist
13+
test/generated
14+
test/e2e/generated
15+
samples/generated
1416
samples/swagger-codegen-cli-v2.jar
1517
samples/swagger-codegen-cli-v3.jar
16-
test/generator/dist
17-
test/server/dist

bin/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ if (OpenAPI) {
3333
exportCore: JSON.parse(program.exportCore) === true,
3434
exportServices: JSON.parse(program.exportServices) === true,
3535
exportModels: JSON.parse(program.exportModels) === true,
36-
exportSchemas: JSON.parse(program.exportSchemas) === true,
36+
exportSchemas: JSON.parse(program.exportSchemas) === true
3737
})
3838
.then(() => {
3939
process.exit(0);

jest.config.js

+26-14
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,29 @@
11
module.exports = {
2-
testRegex: '.*\\.spec\\.(js|js)$',
3-
testPathIgnorePatterns: [
4-
'/node_modules/',
5-
'<rootDir>/dist/',
6-
'<rootDir>/samples/',
7-
],
8-
testEnvironment: 'node',
9-
moduleNameMapper: {
10-
'\\.hbs$': '<rootDir>/src/templates/__mocks__/index.js',
11-
},
12-
collectCoverageFrom: [
13-
'src/**/*.ts',
14-
'!src/**/*.d.ts',
15-
'!**/node_modules/**',
2+
projects: [
3+
{
4+
displayName: 'UNIT',
5+
testEnvironment: 'node',
6+
testMatch: [
7+
'<rootDir>/src/**/*.spec.ts',
8+
'<rootDir>/test/**/*.spec.js',
9+
],
10+
moduleNameMapper: {
11+
'\\.hbs$': '<rootDir>/src/templates/__mocks__/index.js',
12+
},
13+
collectCoverageFrom: [
14+
'src/**/*.ts',
15+
'!src/**/*.d.ts',
16+
],
17+
},
18+
{
19+
displayName: 'E2E',
20+
testEnvironment: 'node',
21+
testMatch: [
22+
'<rootDir>/test/e2e/index.js',
23+
],
24+
globals: {
25+
URL: 'http://localhost:3000',
26+
},
27+
},
1628
],
1729
};

package.json

+6-17
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,18 @@
4343
"src/templates/**/*.ts"
4444
],
4545
"scripts": {
46-
"clean": "rimraf ./dist ./test/generator/dist ./test/server/dist ./coverage ./samples/dist ./node_modules/.cache",
46+
"clean": "rimraf ./dist ./test/generated ./test/e2e/generated ./samples/generated ./coverage ./node_modules/.cache",
4747
"build": "rollup --config --environment NODE_ENV:development",
4848
"build:watch": "rollup --config --environment NODE_ENV:development --watch",
4949
"release": "rollup --config --environment NODE_ENV:production",
5050
"start": "nest start --path ./test/server/tsconfig.json",
5151
"start:watch": "nest start --path ./test/server/tsconfig.json --watch",
5252
"run": "node ./test/index.js",
53-
"test": "jest",
54-
"test:update": "jest --updateSnapshot",
55-
"test:watch": "jest --watch",
56-
"test:coverage": "jest --coverage",
53+
"test": "jest --selectProjects UNIT",
54+
"test:update": "jest --selectProjects UNIT --updateSnapshot",
55+
"test:watch": "jest --selectProjects UNIT --watch",
56+
"test:coverage": "jest --selectProjects UNIT --coverage",
57+
"test:e2e": "jest --selectProjects E2E",
5758
"eslint": "eslint \"./src/**/*.ts\" \"./test/**/*.ts\" \"./bin/index.js\"",
5859
"eslint:fix": "eslint \"./src/**/*.ts\" \"./test/**/*.ts\" \"./bin/index.js\" --fix",
5960
"prettier": "prettier \"./src/**/*.ts\" \"./test/**/*.ts\" \"./bin/index.js\" --check",
@@ -74,13 +75,6 @@
7475
"@babel/core": "7.11.6",
7576
"@babel/preset-env": "7.11.5",
7677
"@babel/preset-typescript": "7.10.4",
77-
"@nestjs/cli": "7.5.1",
78-
"@nestjs/common": "7.4.4",
79-
"@nestjs/core": "7.4.4",
80-
"@nestjs/platform-express": "7.4.4",
81-
"@nestjs/schematics": "7.1.2",
82-
"@nestjs/swagger": "4.6.1",
83-
"@nestjs/testing": "7.4.4",
8478
"@rollup/plugin-commonjs": "15.1.0",
8579
"@rollup/plugin-node-resolve": "9.0.0",
8680
"@types/express": "4.17.8",
@@ -91,8 +85,6 @@
9185
"@types/rimraf": "3.0.0",
9286
"@typescript-eslint/eslint-plugin": "4.2.0",
9387
"@typescript-eslint/parser": "4.2.0",
94-
"class-transformer": "0.3.1",
95-
"class-validator": "0.12.2",
9688
"codecov": "3.7.2",
9789
"eslint": "7.9.0",
9890
"eslint-config-prettier": "6.11.0",
@@ -104,12 +96,9 @@
10496
"jest-cli": "26.4.2",
10597
"prettier": "2.1.2",
10698
"puppeteer": "5.3.1",
107-
"reflect-metadata": "0.1.13",
10899
"rollup": "2.28.2",
109100
"rollup-plugin-terser": "7.0.2",
110101
"rollup-plugin-typescript2": "0.27.2",
111-
"swagger-ui-express": "4.1.4",
112-
"testcafe": "1.9.3",
113102
"typescript": "4.0.3"
114103
}
115104
}

rollup.config.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ const fs = require('fs');
1111
const pkg = require('./package.json');
1212
const external = Object.keys(pkg.dependencies);
1313

14-
1514
/**
1615
* Custom plugin to parse handlebar imports and precompile
1716
* the template on the fly. This reduces runtime by about
@@ -56,7 +55,7 @@ const getPlugins = () => {
5655
return [...plugins, terser()];
5756
}
5857

59-
export default {
58+
module.exports = {
6059
input: './src/index.ts',
6160
output: {
6261
file: './dist/index.js',

samples/codegen.sh

+12-12
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@ rm -rf dist
44
rm swagger-codegen-cli-v2.jar
55
rm swagger-codegen-cli-v3.jar
66

7-
#curl https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.15/swagger-codegen-cli-2.4.15.jar -o swagger-codegen-cli-v2.jar
8-
#curl https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.21/swagger-codegen-cli-3.0.21.jar -o swagger-codegen-cli-v3.jar
7+
curl https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.15/swagger-codegen-cli-2.4.15.jar -o swagger-codegen-cli-v2.jar
8+
curl https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.21/swagger-codegen-cli-3.0.21.jar -o swagger-codegen-cli-v3.jar
99

10-
#java -jar ./swagger-codegen-cli-v2.jar generate -i spec/v2.json -l typescript-aurelia -o dist/v2/typescript-aurelia/
11-
#java -jar ./swagger-codegen-cli-v2.jar generate -i spec/v2.json -l typescript-angular -o dist/v2/typescript-angular/
12-
#java -jar ./swagger-codegen-cli-v2.jar generate -i spec/v2.json -l typescript-inversify -o dist/v2/typescript-inversify/
13-
#java -jar ./swagger-codegen-cli-v2.jar generate -i spec/v2.json -l typescript-fetch -o dist/v2/typescript-fetch/
14-
#java -jar ./swagger-codegen-cli-v2.jar generate -i spec/v2.json -l typescript-jquery -o dist/v2/typescript-jquery/
15-
#java -jar ./swagger-codegen-cli-v2.jar generate -i spec/v2.json -l typescript-node -o dist/v2/typescript-node/
10+
java -jar ./swagger-codegen-cli-v2.jar generate -i spec/v2.json -l typescript-aurelia -o generated/v2/typescript-aurelia/
11+
java -jar ./swagger-codegen-cli-v2.jar generate -i spec/v2.json -l typescript-angular -o generated/v2/typescript-angular/
12+
java -jar ./swagger-codegen-cli-v2.jar generate -i spec/v2.json -l typescript-inversify -o generated/v2/typescript-inversify/
13+
java -jar ./swagger-codegen-cli-v2.jar generate -i spec/v2.json -l typescript-fetch -o generated/v2/typescript-fetch/
14+
java -jar ./swagger-codegen-cli-v2.jar generate -i spec/v2.json -l typescript-jquery -o generated/v2/typescript-jquery/
15+
java -jar ./swagger-codegen-cli-v2.jar generate -i spec/v2.json -l typescript-node -o generated/v2/typescript-node/
1616

17-
#java -jar ./swagger-codegen-cli-v3.jar generate -i spec/v3.json -l typescript-angular -o dist/v3/typescript-angular/
18-
#java -jar ./swagger-codegen-cli-v3.jar generate -i spec/v3.json -l typescript-fetch -o dist/v3/typescript-fetch/
17+
java -jar ./swagger-codegen-cli-v3.jar generate -i spec/v3.json -l typescript-angular -o generated/v3/typescript-angular/
18+
java -jar ./swagger-codegen-cli-v3.jar generate -i spec/v3.json -l typescript-fetch -o generated/v3/typescript-fetch/
1919

20-
node ../bin/index.js --input spec/v2.json --output dist/v2/openapi-typescript-codegen/
21-
node ../bin/index.js --input spec/v3.json --output dist/v3/openapi-typescript-codegen/
20+
node ../bin/index.js --input spec/v2.json --output generated/v2/openapi-typescript-codegen/
21+
node ../bin/index.js --input spec/v3.json --output generated/v3/openapi-typescript-codegen/

src/index.spec.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,31 @@ describe('index', () => {
44
it('parses v2 without issues', async () => {
55
await OpenAPI.generate({
66
input: './test/spec/v3.json',
7-
output: './temp/v3/',
7+
output: './generated/v3/',
88
write: false,
99
});
1010
});
1111

1212
it('parses v3 without issues', async () => {
1313
await OpenAPI.generate({
1414
input: './test/spec/v3.json',
15-
output: './temp/v3/',
15+
output: './generated/v3/',
1616
write: false,
1717
});
1818
});
1919

2020
it('downloads and parses v2 without issues', async () => {
2121
await OpenAPI.generate({
2222
input: 'https://raw.githubusercontent.com/ferdikoomen/openapi-typescript-codegen/master/test/spec/v2.json',
23-
output: './temp/v2-downloaded/',
23+
output: './generated/v2-downloaded/',
2424
write: false,
2525
});
2626
});
2727

2828
it('downloads and parses v3 without issues', async () => {
2929
await OpenAPI.generate({
3030
input: 'https://raw.githubusercontent.com/ferdikoomen/openapi-typescript-codegen/master/test/spec/v3.json',
31-
output: './temp/v3-downloaded/',
31+
output: './generated/v3-downloaded/',
3232
write: false,
3333
});
3434
});

0 commit comments

Comments
 (0)