From aae2519b0c3f8b1fcc81a54c312e0fa5a7256188 Mon Sep 17 00:00:00 2001 From: Michael Kriese <michael.kriese@visualon.de> Date: Tue, 17 Dec 2019 06:56:42 +0100 Subject: [PATCH] fix(ts): convert worker/repository/init to typescript (#4975) --- lib/config/common.ts | 4 ++ lib/workers/repository/init/apis.js | 23 ------- lib/workers/repository/init/apis.ts | 29 +++++++++ .../repository/init/{base.js => base.ts} | 13 ++-- .../repository/init/{config.js => config.ts} | 36 +++++------ .../init/{flatten.js => flatten.ts} | 14 ++-- .../repository/init/{index.js => index.ts} | 27 ++++---- .../init/{semantic.js => semantic.ts} | 15 ++--- .../{vulnerability.js => vulnerability.ts} | 15 ++--- test/util.ts | 6 ++ ...onfig.spec.js.snap => config.spec.ts.snap} | 0 ...tten.spec.js.snap => flatten.spec.ts.snap} | 0 ...pec.js.snap => vulnerability.spec.ts.snap} | 0 .../init/{apis.spec.js => apis.spec.ts} | 8 +-- .../init/{base.spec.js => base.spec.ts} | 17 ++--- .../init/{config.spec.js => config.spec.ts} | 64 ++++++++++--------- .../init/{flatten.spec.js => flatten.spec.ts} | 6 +- .../init/{index.spec.js => index.spec.ts} | 16 +++-- .../{semantic.spec.js => semantic.spec.ts} | 22 +++---- ...rability.spec.js => vulnerability.spec.ts} | 22 +++---- 20 files changed, 166 insertions(+), 171 deletions(-) delete mode 100644 lib/workers/repository/init/apis.js create mode 100644 lib/workers/repository/init/apis.ts rename lib/workers/repository/init/{base.js => base.ts} (74%) rename lib/workers/repository/init/{config.js => config.ts} (87%) rename lib/workers/repository/init/{flatten.js => flatten.ts} (67%) rename lib/workers/repository/init/{index.js => index.ts} (52%) rename lib/workers/repository/init/{semantic.js => semantic.ts} (71%) rename lib/workers/repository/init/{vulnerability.js => vulnerability.ts} (94%) rename test/workers/repository/init/__snapshots__/{config.spec.js.snap => config.spec.ts.snap} (100%) rename test/workers/repository/init/__snapshots__/{flatten.spec.js.snap => flatten.spec.ts.snap} (100%) rename test/workers/repository/init/__snapshots__/{vulnerability.spec.js.snap => vulnerability.spec.ts.snap} (100%) rename test/workers/repository/init/{apis.spec.js => apis.spec.ts} (62%) rename test/workers/repository/init/{base.spec.js => base.spec.ts} (66%) rename test/workers/repository/init/{config.spec.js => config.spec.ts} (59%) rename test/workers/repository/init/{flatten.spec.js => flatten.spec.ts} (86%) rename test/workers/repository/init/{index.spec.js => index.spec.ts} (55%) rename test/workers/repository/init/{semantic.spec.js => semantic.spec.ts} (64%) rename test/workers/repository/init/{vulnerability.spec.js => vulnerability.spec.ts} (96%) diff --git a/lib/config/common.ts b/lib/config/common.ts index e8b0ec27c0..808756b354 100644 --- a/lib/config/common.ts +++ b/lib/config/common.ts @@ -52,6 +52,10 @@ export interface RenovateConfig description?: string[]; dryRun?: boolean; errors?: ValidationMessage[]; + + /** TODO: Type? */ + global?: Record<string, any>; + includeForks?: boolean; isFork?: boolean; onboarding?: boolean; diff --git a/lib/workers/repository/init/apis.js b/lib/workers/repository/init/apis.js deleted file mode 100644 index a6b26845f8..0000000000 --- a/lib/workers/repository/init/apis.js +++ /dev/null @@ -1,23 +0,0 @@ -const npmApi = require('../../../datasource/npm'); -const { platform } = require('../../../platform'); - -async function getPlatformConfig(config) { - const platformConfig = await platform.initRepo(config); - return { - ...config, - ...platformConfig, - }; -} - -async function initApis(input) { - let config = { ...input }; - config = await getPlatformConfig(config); - npmApi.resetMemCache(); - npmApi.setNpmrc(config.npmrc); - delete config.gitPrivateKey; - return config; -} - -module.exports = { - initApis, -}; diff --git a/lib/workers/repository/init/apis.ts b/lib/workers/repository/init/apis.ts new file mode 100644 index 0000000000..53f99fa8a2 --- /dev/null +++ b/lib/workers/repository/init/apis.ts @@ -0,0 +1,29 @@ +import * as npmApi from '../../../datasource/npm'; +import { platform, RepoConfig } from '../../../platform'; +import { RenovateConfig } from '../../../config'; + +// TODO: fix types +export type WorkerPlatformConfig = RepoConfig & + RenovateConfig & + Record<string, any>; + +// TODO: fix types +async function getPlatformConfig(config): Promise<WorkerPlatformConfig> { + const platformConfig = await platform.initRepo(config); + return { + ...config, + ...platformConfig, + }; +} + +// TODO: fix types +export async function initApis( + input: RenovateConfig +): Promise<WorkerPlatformConfig> { + let config: WorkerPlatformConfig = { ...input } as never; + config = await getPlatformConfig(config); + npmApi.resetMemCache(); + npmApi.setNpmrc(config.npmrc); + delete config.gitPrivateKey; + return config; +} diff --git a/lib/workers/repository/init/base.js b/lib/workers/repository/init/base.ts similarity index 74% rename from lib/workers/repository/init/base.js rename to lib/workers/repository/init/base.ts index 5137a5821c..d9b12ff182 100644 --- a/lib/workers/repository/init/base.js +++ b/lib/workers/repository/init/base.ts @@ -1,7 +1,10 @@ -const { logger } = require('../../../logger'); -const { platform } = require('../../../platform'); +import { logger } from '../../../logger'; +import { platform } from '../../../platform'; +import { RenovateConfig } from '../../../config'; -async function checkBaseBranch(config) { +export async function checkBaseBranch( + config: RenovateConfig +): Promise<RenovateConfig> { logger.debug('checkBaseBranch()'); logger.debug(`config.repoIsOnboarded=${config.repoIsOnboarded}`); let error = []; @@ -23,7 +26,3 @@ async function checkBaseBranch(config) { } return { ...config, errors: config.errors.concat(error) }; } - -module.exports = { - checkBaseBranch, -}; diff --git a/lib/workers/repository/init/config.js b/lib/workers/repository/init/config.ts similarity index 87% rename from lib/workers/repository/init/config.js rename to lib/workers/repository/init/config.ts index 558e9647e2..06f5422cb9 100644 --- a/lib/workers/repository/init/config.js +++ b/lib/workers/repository/init/config.ts @@ -1,23 +1,25 @@ -const jsonValidator = require('json-dup-key-validator'); -const JSON5 = require('json5'); -const path = require('path'); +import jsonValidator from 'json-dup-key-validator'; +import JSON5 from 'json5'; +import path from 'path'; -const { logger } = require('../../../logger'); -const { mergeChildConfig } = require('../../../config'); -const { migrateAndValidate } = require('../../../config/migrate-validate'); -const { decryptConfig } = require('../../../config/decrypt'); -const presets = require('../../../config/presets'); -const npmApi = require('../../../datasource/npm'); -const { flattenPackageRules } = require('./flatten'); -const hostRules = require('../../../util/host-rules'); -const { configFileNames } = require('../../../config/app-strings'); -const { platform } = require('../../../platform'); +import { logger } from '../../../logger'; +import { mergeChildConfig, RenovateConfig } from '../../../config'; +import { migrateAndValidate } from '../../../config/migrate-validate'; +import { decryptConfig } from '../../../config/decrypt'; +import * as presets from '../../../config/presets'; +import * as npmApi from '../../../datasource/npm'; +import { flattenPackageRules } from './flatten'; +import * as hostRules from '../../../util/host-rules'; +import { configFileNames } from '../../../config/app-strings'; +import { platform } from '../../../platform'; // Check for repository config -async function mergeRenovateConfig(config) { +export async function mergeRenovateConfig( + config: RenovateConfig +): Promise<RenovateConfig> { let returnConfig = { ...config }; const fileList = await platform.getFileList(); - async function detectConfigFile() { + async function detectConfigFile(): Promise<string | null> { for (const fileName of configFileNames) { if (fileName === 'package.json') { try { @@ -180,7 +182,3 @@ async function mergeRenovateConfig(config) { } return returnConfig; } - -module.exports = { - mergeRenovateConfig, -}; diff --git a/lib/workers/repository/init/flatten.js b/lib/workers/repository/init/flatten.ts similarity index 67% rename from lib/workers/repository/init/flatten.js rename to lib/workers/repository/init/flatten.ts index e52af19fef..fed4e685e4 100644 --- a/lib/workers/repository/init/flatten.js +++ b/lib/workers/repository/init/flatten.ts @@ -1,8 +1,10 @@ -const { logger } = require('../../../logger'); -const { mergeChildConfig } = require('../../../config'); +import { logger } from '../../../logger'; +import { mergeChildConfig, PackageRule } from '../../../config'; -function flattenPackageRules(packageRules) { - const res = []; +export function flattenPackageRules( + packageRules: PackageRule[] +): PackageRule[] { + const res: PackageRule[] = []; if (!(packageRules && packageRules.length)) { return res; } @@ -20,7 +22,3 @@ function flattenPackageRules(packageRules) { } return res; } - -module.exports = { - flattenPackageRules, -}; diff --git a/lib/workers/repository/init/index.js b/lib/workers/repository/init/index.ts similarity index 52% rename from lib/workers/repository/init/index.js rename to lib/workers/repository/init/index.ts index 68eb56c234..2f8d8dc970 100644 --- a/lib/workers/repository/init/index.js +++ b/lib/workers/repository/init/index.ts @@ -1,16 +1,17 @@ -const { logger } = require('../../../logger'); -const { checkOnboardingBranch } = require('../onboarding/branch'); -const { checkIfConfigured } = require('../configured'); -const { initApis } = require('../init/apis'); -const { checkBaseBranch } = require('./base'); -const { mergeRenovateConfig } = require('./config'); -const { detectSemanticCommits } = require('./semantic'); -const { detectVulnerabilityAlerts } = require('./vulnerability'); -const { platform } = require('../../../platform'); +import { logger } from '../../../logger'; +import { checkOnboardingBranch } from '../onboarding/branch'; +import { checkIfConfigured } from '../configured'; +import { initApis } from './apis'; +import { checkBaseBranch } from './base'; +import { mergeRenovateConfig } from './config'; +import { detectSemanticCommits } from './semantic'; +import { detectVulnerabilityAlerts } from './vulnerability'; +import { platform } from '../../../platform'; +import { RenovateConfig } from '../../../config'; -async function initRepo(input) { +export async function initRepo(input: RenovateConfig): Promise<RenovateConfig> { global.repoCache = {}; - let config = { + let config: RenovateConfig = { ...input, errors: [], warnings: [], @@ -31,7 +32,3 @@ async function initRepo(input) { } return config; } - -module.exports = { - initRepo, -}; diff --git a/lib/workers/repository/init/semantic.js b/lib/workers/repository/init/semantic.ts similarity index 71% rename from lib/workers/repository/init/semantic.js rename to lib/workers/repository/init/semantic.ts index d39dc4a350..98b3697d12 100644 --- a/lib/workers/repository/init/semantic.js +++ b/lib/workers/repository/init/semantic.ts @@ -1,8 +1,11 @@ -const conventionalCommitsDetector = require('conventional-commits-detector'); -const { logger } = require('../../../logger'); -const { platform } = require('../../../platform'); +import conventionalCommitsDetector from 'conventional-commits-detector'; +import { logger } from '../../../logger'; +import { platform } from '../../../platform'; +import { RenovateConfig } from '../../../config'; -async function detectSemanticCommits(config) { +export async function detectSemanticCommits( + config: RenovateConfig +): Promise<boolean> { logger.debug('detectSemanticCommits()'); logger.trace({ config }); if (config.semanticCommits !== null) { @@ -26,7 +29,3 @@ async function detectSemanticCommits(config) { logger.debug('No semantic commits detected'); return false; } - -module.exports = { - detectSemanticCommits, -}; diff --git a/lib/workers/repository/init/vulnerability.js b/lib/workers/repository/init/vulnerability.ts similarity index 94% rename from lib/workers/repository/init/vulnerability.js rename to lib/workers/repository/init/vulnerability.ts index ef08ed45fe..6ccb90a586 100644 --- a/lib/workers/repository/init/vulnerability.js +++ b/lib/workers/repository/init/vulnerability.ts @@ -1,12 +1,11 @@ -const { logger } = require('../../../logger'); -const versioning = require('../../../versioning'); -const { platform } = require('../../../platform'); +import { logger } from '../../../logger'; +import * as versioning from '../../../versioning'; +import { platform } from '../../../platform'; +import { RenovateConfig } from '../../../config'; -module.exports = { - detectVulnerabilityAlerts, -}; - -async function detectVulnerabilityAlerts(input) { +export async function detectVulnerabilityAlerts( + input: RenovateConfig +): Promise<RenovateConfig> { if (!(input && input.vulnerabilityAlerts)) { return input; } diff --git a/test/util.ts b/test/util.ts index 69d8ec1e60..b1272e4a9d 100644 --- a/test/util.ts +++ b/test/util.ts @@ -1,5 +1,6 @@ import { platform as _platform } from '../lib/platform'; import { getConfig } from '../lib/config/defaults'; +import { RenovateConfig as _RenovateConfig } from '../lib/config'; /** * Simple wrapper for getting mocked version of a module @@ -11,4 +12,9 @@ export function mocked<T>(module: T): jest.Mocked<T> { export const platform = mocked(_platform); +// Required because of isolatedModules +export type RenovateConfig = _RenovateConfig; + export const defaultConfig = getConfig(); + +export { getConfig }; diff --git a/test/workers/repository/init/__snapshots__/config.spec.js.snap b/test/workers/repository/init/__snapshots__/config.spec.ts.snap similarity index 100% rename from test/workers/repository/init/__snapshots__/config.spec.js.snap rename to test/workers/repository/init/__snapshots__/config.spec.ts.snap diff --git a/test/workers/repository/init/__snapshots__/flatten.spec.js.snap b/test/workers/repository/init/__snapshots__/flatten.spec.ts.snap similarity index 100% rename from test/workers/repository/init/__snapshots__/flatten.spec.js.snap rename to test/workers/repository/init/__snapshots__/flatten.spec.ts.snap diff --git a/test/workers/repository/init/__snapshots__/vulnerability.spec.js.snap b/test/workers/repository/init/__snapshots__/vulnerability.spec.ts.snap similarity index 100% rename from test/workers/repository/init/__snapshots__/vulnerability.spec.js.snap rename to test/workers/repository/init/__snapshots__/vulnerability.spec.ts.snap diff --git a/test/workers/repository/init/apis.spec.js b/test/workers/repository/init/apis.spec.ts similarity index 62% rename from test/workers/repository/init/apis.spec.js rename to test/workers/repository/init/apis.spec.ts index 7bf16e3ebd..408faff326 100644 --- a/test/workers/repository/init/apis.spec.js +++ b/test/workers/repository/init/apis.spec.ts @@ -1,13 +1,13 @@ -const { initApis } = require('../../../../lib/workers/repository/init/apis'); +import { initApis } from '../../../../lib/workers/repository/init/apis'; +import { RenovateConfig, getConfig } from '../../../util'; jest.mock('../../../../lib/platform/github'); describe('workers/repository/init/apis', () => { describe('initApis', () => { - /** @type any */ - let config; + let config: RenovateConfig; beforeEach(() => { - config = require('../../../config/config/_fixtures'); + config = { ...getConfig() }; config.errors = []; config.warnings = []; config.token = 'some-token'; diff --git a/test/workers/repository/init/base.spec.js b/test/workers/repository/init/base.spec.ts similarity index 66% rename from test/workers/repository/init/base.spec.js rename to test/workers/repository/init/base.spec.ts index 36fca20aad..a5801ea37f 100644 --- a/test/workers/repository/init/base.spec.js +++ b/test/workers/repository/init/base.spec.ts @@ -1,19 +1,14 @@ -/** @type any */ -let config; +import { checkBaseBranch } from '../../../../lib/workers/repository/init/base'; +import { platform, getConfig, RenovateConfig } from '../../../util'; + +let config: RenovateConfig; beforeEach(() => { jest.resetAllMocks(); - config = require('../../../config/config/_fixtures'); + config = { ...getConfig() }; config.errors = []; config.warnings = []; }); -const { - checkBaseBranch, -} = require('../../../../lib/workers/repository/init/base'); - -/** @type any */ -const { platform } = require('../../../../lib/platform'); - describe('workers/repository/init/base', () => { describe('checkBaseBranch()', () => { it('errors', async () => { @@ -23,7 +18,7 @@ describe('workers/repository/init/base', () => { }); it('sets baseBranch', async () => { config.baseBranch = 'ssome-base'; - platform.branchExists.mockReturnValue(true); + platform.branchExists.mockResolvedValue(true); const res = await checkBaseBranch(config); expect(res.errors).toHaveLength(0); expect(platform.setBaseBranch).toHaveBeenCalledTimes(1); diff --git a/test/workers/repository/init/config.spec.js b/test/workers/repository/init/config.spec.ts similarity index 59% rename from test/workers/repository/init/config.spec.js rename to test/workers/repository/init/config.spec.ts index 5cf425d211..e3a273b2bb 100644 --- a/test/workers/repository/init/config.spec.js +++ b/test/workers/repository/init/config.spec.ts @@ -1,50 +1,47 @@ -/** @type any */ -let config; +import { mergeRenovateConfig } from '../../../../lib/workers/repository/init/config'; +import * as _migrateAndValidate from '../../../../lib/config/migrate-validate'; +import { platform, mocked, getConfig, RenovateConfig } from '../../../util'; + +const migrateAndValidate = mocked(_migrateAndValidate); + +let config: RenovateConfig; beforeEach(() => { jest.resetAllMocks(); - config = require('../../../config/config/_fixtures'); + config = getConfig(); config.errors = []; config.warnings = []; }); -const { - mergeRenovateConfig, -} = require('../../../../lib/workers/repository/init/config'); -/** @type any */ -const migrateValidate = require('../../../../lib/config/migrate-validate'); -/** @type any */ -const { platform } = require('../../../../lib/platform'); - jest.mock('../../../../lib/config/migrate-validate'); describe('workers/repository/init/config', () => { describe('mergeRenovateConfig()', () => { beforeEach(() => { - migrateValidate.migrateAndValidate.mockReturnValue({ + migrateAndValidate.migrateAndValidate.mockResolvedValue({ warnings: [], errors: [], }); }); it('returns config if not found', async () => { - platform.getFileList.mockReturnValue(['package.json']); - platform.getFile.mockReturnValue('{}'); + platform.getFileList.mockResolvedValue(['package.json']); + platform.getFile.mockResolvedValue('{}'); const res = await mergeRenovateConfig(config); expect(res).toMatchObject(config); }); it('uses package.json config if found', async () => { - platform.getFileList.mockReturnValue(['package.json']); + platform.getFileList.mockResolvedValue(['package.json']); const pJson = JSON.stringify({ name: 'something', renovate: { prHourlyLimit: 10, }, }); - platform.getFile.mockReturnValue(pJson); + platform.getFile.mockResolvedValue(pJson); await mergeRenovateConfig(config); }); it('returns error if cannot parse', async () => { - platform.getFileList.mockReturnValue(['package.json', 'renovate.json']); - platform.getFile.mockReturnValue('cannot parse'); + platform.getFileList.mockResolvedValue(['package.json', 'renovate.json']); + platform.getFile.mockResolvedValue('cannot parse'); let e; try { await mergeRenovateConfig(config); @@ -57,8 +54,10 @@ describe('workers/repository/init/config', () => { expect(e.validationMessage).toMatchSnapshot(); }); it('throws error if duplicate keys', async () => { - platform.getFileList.mockReturnValue(['package.json', '.renovaterc']); - platform.getFile.mockReturnValue('{ "enabled": true, "enabled": false }'); + platform.getFileList.mockResolvedValue(['package.json', '.renovaterc']); + platform.getFile.mockResolvedValue( + '{ "enabled": true, "enabled": false }' + ); let e; try { await mergeRenovateConfig(config); @@ -71,38 +70,41 @@ describe('workers/repository/init/config', () => { expect(e.validationMessage).toMatchSnapshot(); }); it('finds and parse renovate.json5', async () => { - platform.getFileList.mockReturnValue(['package.json', 'renovate.json5']); - platform.getFile.mockReturnValue(`{ + platform.getFileList.mockResolvedValue([ + 'package.json', + 'renovate.json5', + ]); + platform.getFile.mockResolvedValue(`{ // this is json5 format }`); await mergeRenovateConfig(config); }); it('finds .github/renovate.json', async () => { - platform.getFileList.mockReturnValue([ + platform.getFileList.mockResolvedValue([ 'package.json', '.github/renovate.json', ]); - platform.getFile.mockReturnValue('{}'); + platform.getFile.mockResolvedValue('{}'); await mergeRenovateConfig(config); }); it('finds .renovaterc.json', async () => { - platform.getFileList.mockReturnValue([ + platform.getFileList.mockResolvedValue([ 'package.json', '.renovaterc.json', ]); - platform.getFile.mockReturnValue('{}'); + platform.getFile.mockResolvedValue('{}'); await mergeRenovateConfig(config); }); it('throws error if misconfigured', async () => { - platform.getFileList.mockReturnValue([ + platform.getFileList.mockResolvedValue([ 'package.json', '.renovaterc.json', ]); - platform.getFile.mockReturnValue('{}'); - migrateValidate.migrateAndValidate.mockReturnValueOnce({ - errors: [{}], + platform.getFile.mockResolvedValue('{}'); + migrateAndValidate.migrateAndValidate.mockResolvedValueOnce({ + errors: [{ depName: 'dep', message: 'test error' }], }); - let e; + let e: Error; try { await mergeRenovateConfig(config); } catch (err) { diff --git a/test/workers/repository/init/flatten.spec.js b/test/workers/repository/init/flatten.spec.ts similarity index 86% rename from test/workers/repository/init/flatten.spec.js rename to test/workers/repository/init/flatten.spec.ts index 63a920e534..2d55e0c599 100644 --- a/test/workers/repository/init/flatten.spec.js +++ b/test/workers/repository/init/flatten.spec.ts @@ -1,11 +1,9 @@ -const { - flattenPackageRules, -} = require('../../../../lib/workers/repository/init/flatten'); +import { flattenPackageRules } from '../../../../lib/workers/repository/init/flatten'; describe('workers/repository/init/flatten', () => { describe('flattenPackageRules()', () => { it('returns empty', () => { - expect(flattenPackageRules({})).toEqual([]); + expect(flattenPackageRules([])).toEqual([]); }); it('flattens some and returns others', () => { const packageRules = [ diff --git a/test/workers/repository/init/index.spec.js b/test/workers/repository/init/index.spec.ts similarity index 55% rename from test/workers/repository/init/index.spec.js rename to test/workers/repository/init/index.spec.ts index 8972907ecd..c3408fb8a5 100644 --- a/test/workers/repository/init/index.spec.js +++ b/test/workers/repository/init/index.spec.ts @@ -1,8 +1,7 @@ -/** @type any */ -const base = require('../../../../lib/workers/repository/init/base'); -/** @type any */ -const apis = require('../../../../lib/workers/repository/init/apis'); -const { initRepo } = require('../../../../lib/workers/repository/init'); +import * as _base from '../../../../lib/workers/repository/init/base'; +import * as _apis from '../../../../lib/workers/repository/init/apis'; +import { initRepo } from '../../../../lib/workers/repository/init'; +import { mocked } from '../../../util'; jest.mock('../../../../lib/workers/repository/onboarding/branch'); jest.mock('../../../../lib/workers/repository/configured'); @@ -11,11 +10,14 @@ jest.mock('../../../../lib/workers/repository/init/base'); jest.mock('../../../../lib/workers/repository/init/config'); jest.mock('../../../../lib/workers/repository/init/semantic'); +const base = mocked(_base); +const apis = mocked(_apis); + describe('workers/repository/init', () => { describe('initRepo', () => { it('runs', async () => { - base.checkBaseBranch.mockReturnValue({}); - apis.initApis.mockReturnValue({}); + base.checkBaseBranch.mockResolvedValue({}); + apis.initApis.mockResolvedValue({} as never); await initRepo({}); }); }); diff --git a/test/workers/repository/init/semantic.spec.js b/test/workers/repository/init/semantic.spec.ts similarity index 64% rename from test/workers/repository/init/semantic.spec.js rename to test/workers/repository/init/semantic.spec.ts index 5867ab5830..72c43954a8 100644 --- a/test/workers/repository/init/semantic.spec.js +++ b/test/workers/repository/init/semantic.spec.ts @@ -1,19 +1,14 @@ -/** @type any */ -let config; +import { detectSemanticCommits } from '../../../../lib/workers/repository/init/semantic'; +import { platform, getConfig, RenovateConfig } from '../../../util'; + +let config: RenovateConfig; beforeEach(() => { jest.resetAllMocks(); - config = require('../../../config/config/_fixtures'); + config = getConfig(); config.errors = []; config.warnings = []; }); -const { - detectSemanticCommits, -} = require('../../../../lib/workers/repository/init/semantic'); - -/** @type any */ -const { platform } = require('../../../../lib/platform'); - describe('workers/repository/init/semantic', () => { describe('detectSemanticCommits()', () => { it('returns config if already set', async () => { @@ -23,13 +18,16 @@ describe('workers/repository/init/semantic', () => { }); it('detects false if unknown', async () => { config.semanticCommits = null; - platform.getCommitMessages.mockReturnValue(['foo', 'bar']); + platform.getCommitMessages.mockResolvedValue(['foo', 'bar']); const res = await detectSemanticCommits(config); expect(res).toBe(false); }); it('detects true if known', async () => { config.semanticCommits = null; - platform.getCommitMessages.mockReturnValue(['fix: foo', 'refactor: bar']); + platform.getCommitMessages.mockResolvedValue([ + 'fix: foo', + 'refactor: bar', + ]); const res = await detectSemanticCommits(config); expect(res).toBe(true); }); diff --git a/test/workers/repository/init/vulnerability.spec.js b/test/workers/repository/init/vulnerability.spec.ts similarity index 96% rename from test/workers/repository/init/vulnerability.spec.js rename to test/workers/repository/init/vulnerability.spec.ts index 764beb40b2..715af5e5e0 100644 --- a/test/workers/repository/init/vulnerability.spec.js +++ b/test/workers/repository/init/vulnerability.spec.ts @@ -1,18 +1,12 @@ -let config; +import { detectVulnerabilityAlerts } from '../../../../lib/workers/repository/init/vulnerability'; +import { platform, defaultConfig, RenovateConfig } from '../../../util'; + +let config: RenovateConfig; beforeEach(() => { jest.resetAllMocks(); - config = JSON.parse( - JSON.stringify(require('../../../config/config/_fixtures')) - ); + config = JSON.parse(JSON.stringify(defaultConfig)); }); -const { - detectVulnerabilityAlerts, -} = require('../../../../lib/workers/repository/init/vulnerability'); - -/** @type any */ -const { platform } = require('../../../../lib/platform'); - describe('workers/repository/init/vulnerability', () => { describe('detectVulnerabilityAlerts()', () => { it('returns if alerts are missing', async () => { @@ -25,19 +19,19 @@ describe('workers/repository/init/vulnerability', () => { }); it('returns if no alerts', async () => { delete config.vulnerabilityAlerts.enabled; - platform.getVulnerabilityAlerts.mockReturnValue([]); + platform.getVulnerabilityAlerts.mockResolvedValue([]); expect(await detectVulnerabilityAlerts(config)).toEqual(config); }); it('throws if no alerts and vulnerabilityAlertsOnly', async () => { config.vulnerabilityAlertsOnly = true; - platform.getVulnerabilityAlerts.mockReturnValue([]); + platform.getVulnerabilityAlerts.mockResolvedValue([]); await expect(detectVulnerabilityAlerts(config)).rejects.toThrow( /no-vulnerability-alerts/ ); }); it('returns alerts', async () => { delete config.vulnerabilityAlerts.enabled; - platform.getVulnerabilityAlerts.mockReturnValue([ + platform.getVulnerabilityAlerts.mockResolvedValue([ {}, { dismissReason: null, -- GitLab