Skip to content

Commit 75c9ef3

Browse files
committed
- Test
1 parent 9985c45 commit 75c9ef3

30 files changed

+417
-243
lines changed

jest.config.js

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,29 @@ module.exports = {
55
testEnvironment: 'node',
66
testMatch: [
77
'<rootDir>/src/**/*.spec.ts',
8-
'<rootDir>/test/**/*.spec.js',
8+
'<rootDir>/test/index.spec.js',
99
],
1010
moduleNameMapper: {
1111
'\\.hbs$': '<rootDir>/src/templates/__mocks__/index.js',
1212
},
13-
collectCoverageFrom: [
14-
'src/**/*.ts',
15-
'!src/**/*.d.ts',
16-
],
1713
},
1814
{
1915
displayName: 'E2E',
2016
testEnvironment: 'node',
2117
testMatch: [
22-
'<rootDir>/test/e2e/index.js',
18+
'<rootDir>/test/e2e/v2.fetch.spec.js',
19+
// '<rootDir>/test/e2e/v2.xhr.spec.js',
20+
// '<rootDir>/test/e2e/v2.node.spec.js',
21+
// '<rootDir>/test/e2e/v3.fetch.spec.js',
22+
// '<rootDir>/test/e2e/v3.xhr.spec.js',
23+
// '<rootDir>/test/e2e/v3.node.spec.js',
2324
],
24-
globals: {
25-
URL: 'http://localhost:3000',
26-
},
2725
},
2826
],
27+
collectCoverageFrom: [
28+
'<rootDir>/src/**/*.ts',
29+
'!<rootDir>/src/**/*.d.ts',
30+
'!<rootDir>/bin',
31+
'!<rootDir>/dist',
32+
],
2933
};

package.json

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,14 @@
5454
"test:update": "jest --selectProjects UNIT --updateSnapshot",
5555
"test:watch": "jest --selectProjects UNIT --watch",
5656
"test:coverage": "jest --selectProjects UNIT --coverage",
57-
"test:e2e": "jest --selectProjects E2E",
58-
"eslint": "eslint \"./src/**/*.ts\" \"./test/**/*.ts\" \"./bin/index.js\"",
59-
"eslint:fix": "eslint \"./src/**/*.ts\" \"./test/**/*.ts\" \"./bin/index.js\" --fix",
60-
"prettier": "prettier \"./src/**/*.ts\" \"./test/**/*.ts\" \"./bin/index.js\" --check",
61-
"prettier:fix": "prettier \"./src/**/*.ts\" \"./test/**/*.ts\" \"./bin/index.js\" --write",
57+
"test:e2e": "jest --selectProjects E2E --runInBand",
58+
"eslint": "eslint \"./src/**/*.ts\" \"./bin/index.js\"",
59+
"eslint:fix": "eslint \"./src/**/*.ts\" \"./bin/index.js\" --fix",
60+
"prettier": "prettier \"./src/**/*.ts\" \"./bin/index.js\" --check",
61+
"prettier:fix": "prettier \"./src/**/*.ts\" \"./bin/index.js\" --write",
6262
"prepublish": "yarn run clean && yarn run release",
63-
"codecov": "codecov --token=66c30c23-8954-4892-bef9-fbaed0a2e42b"
63+
"codecov": "codecov --token=66c30c23-8954-4892-bef9-fbaed0a2e42b",
64+
"aap": "node ./test/e2e/index.js"
6465
},
6566
"dependencies": {
6667
"camelcase": "6.0.0",

test/e2e/index.js

Lines changed: 1 addition & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,4 @@
11
'use strict';
22

3-
const generate = require('./scripts/generate');
4-
const copy = require('./scripts/copy');
5-
const compile = require('./scripts/compile');
6-
const build = require('./scripts/build');
73
const server = require('./scripts/server');
8-
const browser = require('./scripts/browser');
9-
10-
describe('e2e', () => {
11-
12-
beforeAll(async () => {
13-
await generate('v2', 'fetch');
14-
await generate('v2', 'xhr');
15-
await generate('v2', 'node');
16-
await generate('v3', 'fetch');
17-
await generate('v3', 'xhr');
18-
await generate('v3', 'node');
19-
20-
await copy('v2', 'fetch');
21-
await copy('v2', 'xhr');
22-
await copy('v2', 'node');
23-
await copy('v3', 'fetch');
24-
await copy('v3', 'xhr');
25-
await copy('v3', 'node');
26-
27-
await build('v2', 'fetch');
28-
await build('v2', 'xhr');
29-
await build('v2', 'node');
30-
await build('v3', 'fetch');
31-
await build('v3', 'xhr');
32-
await build('v3', 'node');
33-
34-
await server.start();
35-
await browser.start();
36-
}, 30000);
37-
38-
afterAll(async () => {
39-
await server.stop();
40-
await browser.stop();
41-
});
42-
43-
it('runs in chrome', async () => {
44-
expect(true).toBeTruthy();
45-
});
46-
47-
it('runs in node', async () => {
48-
// const child1 = require('./generated/v2/fetch/index.js');
49-
// const child2 = require('./generated/v3/fetch/index.js');
50-
// const resultDefaultsService1 = child1.testDefaultsService();
51-
// const resultDefaultsService2 = child2.testDefaultsService();
52-
// expect(resultDefaultsService1).toContain('aap');
53-
// expect(resultDefaultsService2).toContain('aap');
54-
expect(true).toBeTruthy();
55-
});
56-
57-
});
4+
server.start('v2', 'fetch');

test/e2e/index.txt

Lines changed: 0 additions & 69 deletions
This file was deleted.

test/e2e/readme.md

Lines changed: 0 additions & 31 deletions
This file was deleted.

test/e2e/scripts/browser.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,22 @@ let page
88
async function start() {
99
browser = await puppeteer.launch();
1010
page = await browser.newPage();
11+
await page.goto(`http://localhost:3000/`, {
12+
waitUntil: 'networkidle0',
13+
});
1114
}
1215

1316
async function stop() {
1417
await page.close();
1518
await browser.close();
1619
}
1720

21+
async function evaluate(fn) {
22+
return await page.evaluate(fn);
23+
}
24+
1825
module.exports = {
1926
start,
2027
stop,
28+
evaluate,
2129
};

test/e2e/scripts/build.js

Lines changed: 0 additions & 29 deletions
This file was deleted.

test/e2e/scripts/compile.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ const path = require('path');
55
const os = require('os');
66

77
function compile(version, client) {
8-
const baseDir = `./test/e2e/generated/src/${version}/${client}`;
8+
const baseDir = `./test/e2e/generated/${version}/${client}/js/api/`;
99
const tsconfig = {
1010
compilerOptions: {
1111
target: 'es6',
12-
module: 'commonjs',
12+
module: 'es6',
1313
moduleResolution: 'node',
1414
},
1515
include: ['./index.ts'],

test/e2e/scripts/copy.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
11
'use strict';
22

33
const fs = require('fs');
4+
const path = require('path');
5+
const glob = require('glob');
46

57
async function copy(version, client) {
6-
return new Promise(resolve => {
7-
fs.copyFile('./test/e2e/test/index.ts', `./test/e2e/generated/${version}/${client}/index.ts`, resolve);
8-
});
8+
const input = path.resolve('./test/e2e/test/');
9+
const output = path.resolve(`./test/e2e/generated/${version}/${client}/js`);
10+
const files = glob.sync('*.js', { cwd: input });
11+
for (let file of files) {
12+
fs.copyFileSync(
13+
path.resolve(input, file),
14+
path.resolve(output, file)
15+
);
16+
}
917
}
1018

1119
module.exports = copy;

test/e2e/scripts/generate.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const OpenAPI = require('../../../dist');
55
async function generate(version, client) {
66
await OpenAPI.generate({
77
input: `./test/spec/${version}.json`,
8-
output: `./test/e2e/generated/${version}/${client}/api`,
8+
output: `./test/e2e/generated/${version}/${client}/js/api/`,
99
httpClient: client,
1010
useOptions: false,
1111
useUnionTypes: false,

0 commit comments

Comments
 (0)