- Improved test readablity

This commit is contained in:
Ferdi Koomen 2020-10-15 14:26:46 +02:00
parent 85f1e8cc8e
commit 6c35b190e5
11 changed files with 67 additions and 74 deletions

View File

@ -31,8 +31,13 @@ async function evaluate(fn, ...args) {
return await page.evaluate(fn, args);
}
async function exposeFunction(name, fn) {
return await page.exposeFunction(name, fn);
}
module.exports = {
start,
stop,
evaluate,
exposeFunction,
};

View File

@ -4,7 +4,7 @@ const glob = require('glob');
const fs = require('fs');
const babel = require('@babel/core');
function transpile(dir) {
function compileWithBabel(dir) {
glob.sync(`./test/e2e/generated/${dir}/**/*.ts`).forEach(file => {
try {
const content = fs.readFileSync(file, 'utf8').toString();
@ -30,4 +30,4 @@ function transpile(dir) {
});
}
module.exports = transpile;
module.exports = compileWithBabel;

View File

@ -4,7 +4,7 @@ const ts = require('typescript');
const path = require('path');
const os = require('os');
function compile(dir) {
function compileWithTypescript(dir) {
const baseDir = `./test/e2e/generated/${dir}/`;
const tsconfig = {
compilerOptions: {
@ -35,4 +35,4 @@ function compile(dir) {
}
}
module.exports = compile;
module.exports = compileWithTypescript;

View File

@ -2,7 +2,7 @@
const generate = require('./scripts/generate');
const copy = require('./scripts/copy');
const transpile = require('./scripts/transpile');
const compileWithBabel = require('./scripts/compileWithBabel');
const server = require('./scripts/server');
const browser = require('./scripts/browser');
@ -11,7 +11,7 @@ describe('v2.fetch', () => {
beforeAll(async () => {
await generate('v2/babel', 'v2', 'fetch', true, true);
await copy('v2/babel');
transpile('v2/babel');
compileWithBabel('v2/babel');
await server.start('v2/babel');
await browser.start();
}, 30000);
@ -22,25 +22,22 @@ describe('v2.fetch', () => {
});
it('requests token', async () => {
await browser.exposeFunction('tokenRequest', jest.fn().mockResolvedValue('MY_TOKEN'));
const result = await browser.evaluate(async () => {
window.api.OpenAPI.TOKEN = new Promise(resolve => {
setTimeout(() => {
resolve('MY_TOKEN');
}, 500);
});
return await window.api.SimpleService.getCallWithoutParametersAndResponse();
const { OpenAPI, SimpleService } = window.api;
OpenAPI.TOKEN = window.tokenRequest;
return await SimpleService.getCallWithoutParametersAndResponse();
});
expect(result.headers.authorization).toBe('Bearer MY_TOKEN');
});
it('complexService', async () => {
const result = await browser.evaluate(async () => {
return await window.api.ComplexService.complexTypes({
parameterObject: {
first: {
second: {
third: 'Hello World!'
}
const { ComplexService } = window.api;
return await ComplexService.complexTypes({
first: {
second: {
third: 'Hello World!'
}
}
});

View File

@ -2,7 +2,7 @@
const generate = require('./scripts/generate');
const copy = require('./scripts/copy');
const compile = require('./scripts/compile');
const compileWithTypescript = require('./scripts/compileWithTypescript');
const server = require('./scripts/server');
const browser = require('./scripts/browser');
@ -11,7 +11,7 @@ describe('v2.fetch', () => {
beforeAll(async () => {
await generate('v2/fetch', 'v2', 'fetch');
await copy('v2/fetch');
compile('v2/fetch');
compileWithTypescript('v2/fetch');
await server.start('v2/fetch');
await browser.start();
}, 30000);
@ -22,20 +22,19 @@ describe('v2.fetch', () => {
});
it('requests token', async () => {
await browser.exposeFunction('tokenRequest', jest.fn().mockResolvedValue('MY_TOKEN'));
const result = await browser.evaluate(async () => {
window.api.OpenAPI.TOKEN = new Promise(resolve => {
setTimeout(() => {
resolve('MY_TOKEN');
}, 500);
});
return await window.api.SimpleService.getCallWithoutParametersAndResponse();
const { OpenAPI, SimpleService } = window.api;
OpenAPI.TOKEN = window.tokenRequest;
return await SimpleService.getCallWithoutParametersAndResponse();
});
expect(result.headers.authorization).toBe('Bearer MY_TOKEN');
});
it('complexService', async () => {
const result = await browser.evaluate(async () => {
return await window.api.ComplexService.complexTypes({
const { ComplexService } = window.api;
return await ComplexService.complexTypes({
first: {
second: {
third: 'Hello World!'

View File

@ -1,15 +1,14 @@
'use strict';
const generate = require('./scripts/generate');
const copy = require('./scripts/copy');
const compile = require('./scripts/compile');
const compileWithTypescript = require('./scripts/compileWithTypescript');
const server = require('./scripts/server');
describe('v2.node', () => {
beforeAll(async () => {
await generate('v2/node', 'v2', 'node');
compile('v2/node');
compileWithTypescript('v2/node');
await server.start('v2/node');
}, 30000);

View File

@ -2,7 +2,7 @@
const generate = require('./scripts/generate');
const copy = require('./scripts/copy');
const compile = require('./scripts/compile');
const compileWithTypescript = require('./scripts/compileWithTypescript');
const server = require('./scripts/server');
const browser = require('./scripts/browser');
@ -11,7 +11,7 @@ describe('v2.xhr', () => {
beforeAll(async () => {
await generate('v2/xhr', 'v2', 'xhr');
await copy('v2/xhr');
compile('v2/xhr');
compileWithTypescript('v2/xhr');
await server.start('v2/xhr');
await browser.start();
}, 30000);
@ -22,20 +22,19 @@ describe('v2.xhr', () => {
});
it('requests token', async () => {
await browser.exposeFunction('tokenRequest', jest.fn().mockResolvedValue('MY_TOKEN'));
const result = await browser.evaluate(async () => {
window.api.OpenAPI.TOKEN = new Promise(resolve => {
setTimeout(() => {
resolve('MY_TOKEN');
}, 500);
});
return await window.api.SimpleService.getCallWithoutParametersAndResponse();
const { OpenAPI, SimpleService } = window.api;
OpenAPI.TOKEN = window.tokenRequest;
return await SimpleService.getCallWithoutParametersAndResponse();
});
expect(result.headers.authorization).toBe('Bearer MY_TOKEN');
});
it('complexService', async () => {
const result = await browser.evaluate(async () => {
return await window.api.ComplexService.complexTypes({
const { ComplexService } = window.api;
return await ComplexService.complexTypes({
first: {
second: {
third: 'Hello World!'

View File

@ -2,7 +2,7 @@
const generate = require('./scripts/generate');
const copy = require('./scripts/copy');
const transpile = require('./scripts/transpile');
const compileWithBabel = require('./scripts/compileWithBabel');
const server = require('./scripts/server');
const browser = require('./scripts/browser');
@ -11,7 +11,7 @@ describe('v3.fetch', () => {
beforeAll(async () => {
await generate('v3/babel', 'v3', 'fetch', true, true);
await copy('v3/babel');
transpile('v3/babel');
compileWithBabel('v3/babel');
await server.start('v3/babel');
await browser.start();
}, 30000);
@ -22,25 +22,22 @@ describe('v3.fetch', () => {
});
it('requests token', async () => {
await browser.exposeFunction('tokenRequest', jest.fn().mockResolvedValue('MY_TOKEN'));
const result = await browser.evaluate(async () => {
window.api.OpenAPI.TOKEN = new Promise(resolve => {
setTimeout(() => {
resolve('MY_TOKEN');
}, 500);
});
return await window.api.SimpleService.getCallWithoutParametersAndResponse();
const { OpenAPI, SimpleService } = window.api;
OpenAPI.TOKEN = window.tokenRequest;
return await SimpleService.getCallWithoutParametersAndResponse();
});
expect(result.headers.authorization).toBe('Bearer MY_TOKEN');
});
it('complexService', async () => {
const result = await browser.evaluate(async () => {
return await window.api.ComplexService.complexTypes({
parameterObject: {
first: {
second: {
third: 'Hello World!'
}
const { ComplexService } = window.api;
return await ComplexService.complexTypes({
first: {
second: {
third: 'Hello World!'
}
}
});

View File

@ -2,7 +2,7 @@
const generate = require('./scripts/generate');
const copy = require('./scripts/copy');
const compile = require('./scripts/compile');
const compileWithTypescript = require('./scripts/compileWithTypescript');
const server = require('./scripts/server');
const browser = require('./scripts/browser');
@ -11,7 +11,7 @@ describe('v3.fetch', () => {
beforeAll(async () => {
await generate('v3/fetch', 'v3', 'fetch');
await copy('v3/fetch');
compile('v3/fetch');
compileWithTypescript('v3/fetch');
await server.start('v3/fetch');
await browser.start();
}, 30000);
@ -22,20 +22,19 @@ describe('v3.fetch', () => {
});
it('requests token', async () => {
await browser.exposeFunction('tokenRequest', jest.fn().mockResolvedValue('MY_TOKEN'));
const result = await browser.evaluate(async () => {
window.api.OpenAPI.TOKEN = new Promise(resolve => {
setTimeout(() => {
resolve('MY_TOKEN');
}, 500);
});
return await window.api.SimpleService.getCallWithoutParametersAndResponse();
const { OpenAPI, SimpleService } = window.api;
OpenAPI.TOKEN = window.tokenRequest;
return await SimpleService.getCallWithoutParametersAndResponse();
});
expect(result.headers.authorization).toBe('Bearer MY_TOKEN');
});
it('complexService', async () => {
const result = await browser.evaluate(async () => {
return await window.api.ComplexService.complexTypes({
const { ComplexService } = window.api;
return await ComplexService.complexTypes({
first: {
second: {
third: 'Hello World!'

View File

@ -1,15 +1,14 @@
'use strict';
const generate = require('./scripts/generate');
const copy = require('./scripts/copy');
const compile = require('./scripts/compile');
const compileWithTypescript = require('./scripts/compileWithTypescript');
const server = require('./scripts/server');
describe('v3.node', () => {
beforeAll(async () => {
await generate('v3/node', 'v3', 'node');
compile('v3/node');
compileWithTypescript('v3/node');
await server.start('v3/node');
}, 30000);

View File

@ -2,7 +2,7 @@
const generate = require('./scripts/generate');
const copy = require('./scripts/copy');
const compile = require('./scripts/compile');
const compileWithTypescript = require('./scripts/compileWithTypescript');
const server = require('./scripts/server');
const browser = require('./scripts/browser');
@ -11,7 +11,7 @@ describe('v3.xhr', () => {
beforeAll(async () => {
await generate('v3/xhr', 'v3', 'xhr');
await copy('v3/xhr');
compile('v3/xhr');
compileWithTypescript('v3/xhr');
await server.start('v3/xhr');
await browser.start();
}, 30000);
@ -22,20 +22,19 @@ describe('v3.xhr', () => {
});
it('requests token', async () => {
await browser.exposeFunction('tokenRequest', jest.fn().mockResolvedValue('MY_TOKEN'));
const result = await browser.evaluate(async () => {
window.api.OpenAPI.TOKEN = new Promise(resolve => {
setTimeout(() => {
resolve('MY_TOKEN');
}, 500);
});
return await window.api.SimpleService.getCallWithoutParametersAndResponse();
const { OpenAPI, SimpleService } = window.api;
OpenAPI.TOKEN = window.tokenRequest;
return await SimpleService.getCallWithoutParametersAndResponse();
});
expect(result.headers.authorization).toBe('Bearer MY_TOKEN');
});
it('complexService', async () => {
const result = await browser.evaluate(async () => {
return await window.api.ComplexService.complexTypes({
const { ComplexService } = window.api;
return await ComplexService.complexTypes({
first: {
second: {
third: 'Hello World!'