1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-04-24 01:18:01 +02:00

fix: convert more tests to typescript

This commit is contained in:
Ivar Conradi Østhus 2021-09-14 20:17:13 +02:00
parent 80291dffcf
commit dedec5c7d1
No known key found for this signature in database
GPG Key ID: 31AC596886B0BD09
6 changed files with 35 additions and 35 deletions

View File

@ -116,6 +116,7 @@
"@types/bcrypt": "^5.0.0", "@types/bcrypt": "^5.0.0",
"@types/express": "^4.17.11", "@types/express": "^4.17.11",
"@types/express-session": "^1.17.4", "@types/express-session": "^1.17.4",
"@types/faker": "^5.5.8",
"@types/jest": "^27.0.1", "@types/jest": "^27.0.1",
"@types/js-yaml": "^3.12.7", "@types/js-yaml": "^3.12.7",
"@types/memoizee": "^0.4.6", "@types/memoizee": "^0.4.6",

View File

@ -1,6 +1,4 @@
'use strict'; import * as logger from './logger';
const logger = require('./logger');
test('should require custom logger to implement info', () => { test('should require custom logger to implement info', () => {
const loggerImpl = { const loggerImpl = {
@ -10,7 +8,8 @@ test('should require custom logger to implement info', () => {
}; };
const provider = () => loggerImpl; const provider = () => loggerImpl;
expect(() => { expect(() => {
logger.validateLogProvider(provider)(); // @ts-ignore:next-line
return logger.validateLogProvider(provider);
}).toThrowError(new TypeError('Logger must implement info')); }).toThrowError(new TypeError('Logger must implement info'));
}); });
@ -22,6 +21,7 @@ test('should require custom logger to implement error', () => {
}; };
const provider = () => loggerImpl; const provider = () => loggerImpl;
expect(() => { expect(() => {
logger.validateLogProvider(provider)(); // @ts-ignore:next-line
return logger.validateLogProvider(provider);
}).toThrowError(new TypeError('Logger must implement error')); }).toThrowError(new TypeError('Logger must implement error'));
}); });

View File

@ -1,8 +1,7 @@
'use strict'; import { EventEmitter } from 'events';
import express from 'express';
const { EventEmitter } = require('events'); import { createTestConfig } from '../test/config/test-config';
const express = require('express'); import { start, create } from './server-impl';
const { createTestConfig } = require('../test/config/test-config');
jest.mock( jest.mock(
'./routes', './routes',
@ -14,8 +13,6 @@ jest.mock(
}, },
); );
const getApp = require('./app');
const noop = () => {}; const noop = () => {};
const eventStore = new EventEmitter(); const eventStore = new EventEmitter();
@ -25,8 +22,6 @@ const settingStore = {
}, },
}; };
jest.mock('./app', () => getApp);
jest.mock('./metrics', () => ({ jest.mock('./metrics', () => ({
createMetricsMonitor() { createMetricsMonitor() {
return { return {
@ -60,8 +55,6 @@ jest.mock(
}, },
); );
const serverImpl = require('./server-impl');
test('should call preHook', async () => { test('should call preHook', async () => {
let called = 0; let called = 0;
const config = createTestConfig({ const config = createTestConfig({
@ -70,13 +63,14 @@ test('should call preHook', async () => {
called++; called++;
}, },
}); });
await serverImpl.start(config); const { stop } = await start(config);
expect(called).toBe(1); expect(called).toBe(1);
await stop();
}); });
test('should call preRouterHook', async () => { test('should call preRouterHook', async () => {
let called = 0; let called = 0;
await serverImpl.start( const { stop } = await start(
createTestConfig({ createTestConfig({
server: { port: 0 }, server: { port: 0 },
preRouterHook: () => { preRouterHook: () => {
@ -85,6 +79,7 @@ test('should call preRouterHook', async () => {
}), }),
); );
expect(called === 1).toBe(true); expect(called === 1).toBe(true);
await stop();
}); });
test('should call eventHook', async () => { test('should call eventHook', async () => {
@ -95,26 +90,29 @@ test('should call eventHook', async () => {
called++; called++;
}, },
}); });
await serverImpl.start(config); const { stop } = await start(config);
eventStore.emit('feature-created', {}); eventStore.emit('feature-created', {});
expect(called === 1).toBe(true); expect(called === 1).toBe(true);
await stop();
}); });
test('should auto-create server on start()', async () => { test('should auto-create server on start()', async () => {
const { server } = await serverImpl.start( const { server, stop } = await start(
createTestConfig({ server: { port: 0 } }), createTestConfig({ server: { port: 0 } }),
); );
expect(typeof server === 'undefined').toBe(false); expect(typeof server === 'undefined').toBe(false);
await stop();
}); });
test('should not create a server using create()', async () => { test('should not create a server using create()', async () => {
const config = createTestConfig({ server: { port: 0 } }); const config = createTestConfig({ server: { port: 0 } });
const { server } = await serverImpl.create(config); const { server, stop } = await create(config);
expect(server).toBeUndefined(); expect(server).toBeUndefined();
await stop();
}); });
test('should shutdown the server when calling stop()', async () => { test('should shutdown the server when calling stop()', async () => {
const { server, stop } = await serverImpl.start( const { server, stop } = await start(
createTestConfig({ server: { port: 0 } }), createTestConfig({ server: { port: 0 } }),
); );
await stop(); await stop();

View File

@ -1,9 +1,7 @@
'use strict'; import { setupApp } from '../../helpers/test-helper';
import metricsExample from '../../../examples/client-metrics.json';
const { setupApp } = require('../../helpers/test-helper'); import dbInit from '../../helpers/database-init';
const metricsExample = require('../../../examples/client-metrics.json'); import getLogger from '../../../fixtures/no-logger';
const dbInit = require('../../helpers/database-init');
const getLogger = require('../../../fixtures/no-logger');
let app; let app;
let db; let db;

View File

@ -1,10 +1,8 @@
'use strict'; import faker from 'faker';
import { setupApp } from '../../helpers/test-helper';
const faker = require('faker'); import dbInit from '../../helpers/database-init';
const { setupApp } = require('../../helpers/test-helper'); import getLogger from '../../../fixtures/no-logger';
const dbInit = require('../../helpers/database-init'); import version from '../../../../lib/util/version';
const getLogger = require('../../../fixtures/no-logger');
const version = require('../../../../lib/util/version');
const asyncFilter = async (arr, predicate) => { const asyncFilter = async (arr, predicate) => {
const results = await Promise.all(arr.map(predicate)); const results = await Promise.all(arr.map(predicate));

View File

@ -744,6 +744,11 @@
"@types/qs" "*" "@types/qs" "*"
"@types/serve-static" "*" "@types/serve-static" "*"
"@types/faker@^5.5.8":
version "5.5.8"
resolved "https://registry.yarnpkg.com/@types/faker/-/faker-5.5.8.tgz#6649adfdfdbb0acf95361fc48f2d0ca6e88bd1cf"
integrity sha512-bsl0rYsaZVHlZkynL5O04q6YXDmVjcid6MbOHWqvtE2WWs/EKhp0qchDDhVWlWyQXUffX1G83X9LnMxRl8S/Mw==
"@types/graceful-fs@^4.1.2": "@types/graceful-fs@^4.1.2":
version "4.1.5" version "4.1.5"
resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz"