mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	fix: convert more tests to typescript
This commit is contained in:
		
							parent
							
								
									80291dffcf
								
							
						
					
					
						commit
						dedec5c7d1
					
				@ -116,6 +116,7 @@
 | 
			
		||||
    "@types/bcrypt": "^5.0.0",
 | 
			
		||||
    "@types/express": "^4.17.11",
 | 
			
		||||
    "@types/express-session": "^1.17.4",
 | 
			
		||||
    "@types/faker": "^5.5.8",
 | 
			
		||||
    "@types/jest": "^27.0.1",
 | 
			
		||||
    "@types/js-yaml": "^3.12.7",
 | 
			
		||||
    "@types/memoizee": "^0.4.6",
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,4 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
const logger = require('./logger');
 | 
			
		||||
import * as logger from './logger';
 | 
			
		||||
 | 
			
		||||
test('should require custom logger to implement info', () => {
 | 
			
		||||
    const loggerImpl = {
 | 
			
		||||
@ -10,7 +8,8 @@ test('should require custom logger to implement info', () => {
 | 
			
		||||
    };
 | 
			
		||||
    const provider = () => loggerImpl;
 | 
			
		||||
    expect(() => {
 | 
			
		||||
        logger.validateLogProvider(provider)();
 | 
			
		||||
        // @ts-ignore:next-line
 | 
			
		||||
        return logger.validateLogProvider(provider);
 | 
			
		||||
    }).toThrowError(new TypeError('Logger must implement info'));
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -22,6 +21,7 @@ test('should require custom logger to implement error', () => {
 | 
			
		||||
    };
 | 
			
		||||
    const provider = () => loggerImpl;
 | 
			
		||||
    expect(() => {
 | 
			
		||||
        logger.validateLogProvider(provider)();
 | 
			
		||||
        // @ts-ignore:next-line
 | 
			
		||||
        return logger.validateLogProvider(provider);
 | 
			
		||||
    }).toThrowError(new TypeError('Logger must implement error'));
 | 
			
		||||
});
 | 
			
		||||
@ -1,8 +1,7 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
const { EventEmitter } = require('events');
 | 
			
		||||
const express = require('express');
 | 
			
		||||
const { createTestConfig } = require('../test/config/test-config');
 | 
			
		||||
import { EventEmitter } from 'events';
 | 
			
		||||
import express from 'express';
 | 
			
		||||
import { createTestConfig } from '../test/config/test-config';
 | 
			
		||||
import { start, create } from './server-impl';
 | 
			
		||||
 | 
			
		||||
jest.mock(
 | 
			
		||||
    './routes',
 | 
			
		||||
@ -14,8 +13,6 @@ jest.mock(
 | 
			
		||||
        },
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
const getApp = require('./app');
 | 
			
		||||
 | 
			
		||||
const noop = () => {};
 | 
			
		||||
 | 
			
		||||
const eventStore = new EventEmitter();
 | 
			
		||||
@ -25,8 +22,6 @@ const settingStore = {
 | 
			
		||||
    },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
jest.mock('./app', () => getApp);
 | 
			
		||||
 | 
			
		||||
jest.mock('./metrics', () => ({
 | 
			
		||||
    createMetricsMonitor() {
 | 
			
		||||
        return {
 | 
			
		||||
@ -60,8 +55,6 @@ jest.mock(
 | 
			
		||||
        },
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
const serverImpl = require('./server-impl');
 | 
			
		||||
 | 
			
		||||
test('should call preHook', async () => {
 | 
			
		||||
    let called = 0;
 | 
			
		||||
    const config = createTestConfig({
 | 
			
		||||
@ -70,13 +63,14 @@ test('should call preHook', async () => {
 | 
			
		||||
            called++;
 | 
			
		||||
        },
 | 
			
		||||
    });
 | 
			
		||||
    await serverImpl.start(config);
 | 
			
		||||
    const { stop } = await start(config);
 | 
			
		||||
    expect(called).toBe(1);
 | 
			
		||||
    await stop();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('should call preRouterHook', async () => {
 | 
			
		||||
    let called = 0;
 | 
			
		||||
    await serverImpl.start(
 | 
			
		||||
    const { stop } = await start(
 | 
			
		||||
        createTestConfig({
 | 
			
		||||
            server: { port: 0 },
 | 
			
		||||
            preRouterHook: () => {
 | 
			
		||||
@ -85,6 +79,7 @@ test('should call preRouterHook', async () => {
 | 
			
		||||
        }),
 | 
			
		||||
    );
 | 
			
		||||
    expect(called === 1).toBe(true);
 | 
			
		||||
    await stop();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('should call eventHook', async () => {
 | 
			
		||||
@ -95,26 +90,29 @@ test('should call eventHook', async () => {
 | 
			
		||||
            called++;
 | 
			
		||||
        },
 | 
			
		||||
    });
 | 
			
		||||
    await serverImpl.start(config);
 | 
			
		||||
    const { stop } = await start(config);
 | 
			
		||||
    eventStore.emit('feature-created', {});
 | 
			
		||||
    expect(called === 1).toBe(true);
 | 
			
		||||
    await stop();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('should auto-create server on start()', async () => {
 | 
			
		||||
    const { server } = await serverImpl.start(
 | 
			
		||||
    const { server, stop } = await start(
 | 
			
		||||
        createTestConfig({ server: { port: 0 } }),
 | 
			
		||||
    );
 | 
			
		||||
    expect(typeof server === 'undefined').toBe(false);
 | 
			
		||||
    await stop();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('should not create a server using create()', async () => {
 | 
			
		||||
    const config = createTestConfig({ server: { port: 0 } });
 | 
			
		||||
    const { server } = await serverImpl.create(config);
 | 
			
		||||
    const { server, stop } = await create(config);
 | 
			
		||||
    expect(server).toBeUndefined();
 | 
			
		||||
    await stop();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('should shutdown the server when calling stop()', async () => {
 | 
			
		||||
    const { server, stop } = await serverImpl.start(
 | 
			
		||||
    const { server, stop } = await start(
 | 
			
		||||
        createTestConfig({ server: { port: 0 } }),
 | 
			
		||||
    );
 | 
			
		||||
    await stop();
 | 
			
		||||
@ -1,9 +1,7 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
const { setupApp } = require('../../helpers/test-helper');
 | 
			
		||||
const metricsExample = require('../../../examples/client-metrics.json');
 | 
			
		||||
const dbInit = require('../../helpers/database-init');
 | 
			
		||||
const getLogger = require('../../../fixtures/no-logger');
 | 
			
		||||
import { setupApp } from '../../helpers/test-helper';
 | 
			
		||||
import metricsExample from '../../../examples/client-metrics.json';
 | 
			
		||||
import dbInit from '../../helpers/database-init';
 | 
			
		||||
import getLogger from '../../../fixtures/no-logger';
 | 
			
		||||
 | 
			
		||||
let app;
 | 
			
		||||
let db;
 | 
			
		||||
@ -1,10 +1,8 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
const faker = require('faker');
 | 
			
		||||
const { setupApp } = require('../../helpers/test-helper');
 | 
			
		||||
const dbInit = require('../../helpers/database-init');
 | 
			
		||||
const getLogger = require('../../../fixtures/no-logger');
 | 
			
		||||
const version = require('../../../../lib/util/version');
 | 
			
		||||
import faker from 'faker';
 | 
			
		||||
import { setupApp } from '../../helpers/test-helper';
 | 
			
		||||
import dbInit from '../../helpers/database-init';
 | 
			
		||||
import getLogger from '../../../fixtures/no-logger';
 | 
			
		||||
import version from '../../../../lib/util/version';
 | 
			
		||||
 | 
			
		||||
const asyncFilter = async (arr, predicate) => {
 | 
			
		||||
    const results = await Promise.all(arr.map(predicate));
 | 
			
		||||
@ -744,6 +744,11 @@
 | 
			
		||||
    "@types/qs" "*"
 | 
			
		||||
    "@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":
 | 
			
		||||
  version "4.1.5"
 | 
			
		||||
  resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz"
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user