From d6d9ee719d5800b62b83aa2a78f856b26561f0b0 Mon Sep 17 00:00:00 2001 From: RahulGautamSingh <rahultesnik@gmail.com> Date: Mon, 10 Oct 2022 12:08:31 +0530 Subject: [PATCH] fix: make baseBranch type non-optional in BranchConfig (#17920) Co-authored-by: Rhys Arkins <rhys@arkins.net> --- lib/workers/repository/cache.ts | 9 +- .../repository/onboarding/pr/pr-list.spec.ts | 11 +- .../repository/process/extract-update.spec.ts | 8 +- lib/workers/repository/process/write.spec.ts | 122 +++++++++++++----- lib/workers/repository/process/write.ts | 8 +- .../execute-post-upgrade-commands.spec.ts | 1 + lib/workers/repository/update/branch/index.ts | 9 +- .../repository/update/branch/reuse.spec.ts | 1 + lib/workers/repository/update/branch/reuse.ts | 6 +- lib/workers/repository/update/pr/automerge.ts | 2 +- .../update/pr/body/changelogs.spec.ts | 2 + .../update/pr/body/config-description.spec.ts | 1 + .../repository/update/pr/body/footer.spec.ts | 2 + .../repository/update/pr/body/header.spec.ts | 2 + .../repository/update/pr/body/index.spec.ts | 7 + .../repository/update/pr/body/notes.spec.ts | 3 + .../update/pr/body/updates-table.spec.ts | 2 + .../repository/update/pr/index.spec.ts | 1 + lib/workers/types.ts | 2 +- test/util.ts | 6 +- 20 files changed, 144 insertions(+), 61 deletions(-) diff --git a/lib/workers/repository/cache.ts b/lib/workers/repository/cache.ts index 09ec25a136..2b76554c02 100644 --- a/lib/workers/repository/cache.ts +++ b/lib/workers/repository/cache.ts @@ -51,8 +51,7 @@ async function generateBranchCache( const { baseBranch, branchName } = branch; try { const sha = getBranchCommit(branchName) ?? null; - // TODO: fix types (#7154) - const baseBranchSha = getBranchCommit(baseBranch!)!; + const baseBranchSha = getBranchCommit(baseBranch); let prNo = null; let parentSha = null; let isModified = false; @@ -64,8 +63,7 @@ async function generateBranchCache( prNo = branchPr.number; } isModified = await isBranchModified(branchName); - // TODO: fix types (#7154) - isBehindBase = await isBranchBehindBase(branchName, baseBranch!); + isBehindBase = await isBranchBehindBase(branchName, baseBranch); } const automerge = !!branch.automerge; const upgrades: BranchUpgradeCache[] = branch.upgrades @@ -75,8 +73,7 @@ async function generateBranchCache( return { automerge, baseBranchSha, - // TODO: fix types (#7154) - baseBranch: baseBranch!, + baseBranch, branchFingerprint, branchName, isBehindBase, diff --git a/lib/workers/repository/onboarding/pr/pr-list.spec.ts b/lib/workers/repository/onboarding/pr/pr-list.spec.ts index f5130eb532..cc3de0bc72 100644 --- a/lib/workers/repository/onboarding/pr/pr-list.spec.ts +++ b/lib/workers/repository/onboarding/pr/pr-list.spec.ts @@ -24,11 +24,12 @@ describe('workers/repository/onboarding/pr/pr-list', () => { }); it('has special lock file maintenance description', () => { - const branches = [ + const branches: BranchConfig[] = [ { prTitle: 'Lock file maintenance', schedule: ['before 5am'], branchName: 'renovate/lock-file-maintenance', + baseBranch: 'base', manager: 'some-manager', upgrades: [ { @@ -50,6 +51,7 @@ describe('workers/repository/onboarding/pr/pr-list', () => { - Schedule: ["before 5am"] - Branch name: \`renovate/lock-file-maintenance\` + - Merge into: \`base\` - Regenerate lock files to use latest dependency versions </details> @@ -59,10 +61,10 @@ describe('workers/repository/onboarding/pr/pr-list', () => { }); it('handles multiple', () => { - const branches = [ + const branches: BranchConfig[] = [ { prTitle: 'Pin dependencies', - baseBranch: 'some-other', + baseBranch: 'base', branchName: 'renovate/pin-dependencies', manager: 'some-manager', upgrades: [ @@ -85,6 +87,7 @@ describe('workers/repository/onboarding/pr/pr-list', () => { { prTitle: 'Update a to v2', branchName: 'renovate/a-2.x', + baseBranch: '', // handles case where baseBranch name is falsy manager: 'some-manager', upgrades: [ { @@ -111,7 +114,7 @@ describe('workers/repository/onboarding/pr/pr-list', () => { <summary>Pin dependencies</summary> - Branch name: \`renovate/pin-dependencies\` - - Merge into: \`some-other\` + - Merge into: \`base\` - Pin [a](https://a) to \`1.1.0\` - Pin b to \`1.5.3\` diff --git a/lib/workers/repository/process/extract-update.spec.ts b/lib/workers/repository/process/extract-update.spec.ts index 42c70a4b4f..de4eebf437 100644 --- a/lib/workers/repository/process/extract-update.spec.ts +++ b/lib/workers/repository/process/extract-update.spec.ts @@ -18,7 +18,12 @@ const repositoryCache = mocked(_repositoryCache); branchify.branchifyUpgrades.mockResolvedValueOnce({ branches: [ - { manager: 'some-manager', branchName: 'some-branch', upgrades: [] }, + { + manager: 'some-manager', + branchName: 'some-branch', + baseBranch: 'base', + upgrades: [], + }, ], branchList: ['branchName'], }); @@ -40,6 +45,7 @@ describe('workers/repository/process/extract-update', () => { { branchName: 'some-branch', manager: 'some-manager', + baseBranch: 'base', upgrades: [], }, ], diff --git a/lib/workers/repository/process/write.spec.ts b/lib/workers/repository/process/write.spec.ts index 3c92745923..9eb5a624b1 100644 --- a/lib/workers/repository/process/write.spec.ts +++ b/lib/workers/repository/process/write.spec.ts @@ -5,7 +5,6 @@ import { git, logger, mocked, - partial, } from '../../../../test/util'; import { GlobalConfig } from '../../../config/global'; import { addMeta } from '../../../logger'; @@ -49,19 +48,40 @@ beforeEach(() => { describe('workers/repository/process/write', () => { describe('writeUpdates()', () => { it('stops after automerge', async () => { - const branches = partial<BranchConfig[]>([ - { branchName: 'test_branch', manager: 'npm', upgrades: [] }, - { branchName: 'test_branch', manager: 'npm', upgrades: [] }, + const branches: BranchConfig[] = [ + { + branchName: 'test_branch', + baseBranch: 'base', + manager: 'npm', + upgrades: [], + }, + { + branchName: 'test_branch', + baseBranch: 'base', + manager: 'npm', + upgrades: [], + }, { branchName: 'test_branch', + baseBranch: 'base', manager: 'npm', automergeType: 'pr-comment', ignoreTests: true, upgrades: [], }, - { branchName: 'test_branch', manager: 'npm', upgrades: [] }, - { branchName: 'test_branch', manager: 'npm', upgrades: [] }, - ]); + { + branchName: 'test_branch', + baseBranch: 'base', + manager: 'npm', + upgrades: [], + }, + { + branchName: 'test_branch', + baseBranch: 'base', + manager: 'npm', + upgrades: [], + }, + ]; git.branchExists.mockReturnValue(true); branchWorker.processBranch.mockResolvedValueOnce({ branchExists: true, @@ -88,9 +108,9 @@ describe('workers/repository/process/write', () => { it('increments branch counter', async () => { const branchName = 'branchName'; const branches: BranchConfig[] = [ - partial<BranchConfig>({ baseBranch: 'main', branchName, upgrades: [] }), - partial<BranchConfig>({ baseBranch: 'dev', branchName, upgrades: [] }), - ] as never; + { baseBranch: 'main', branchName, upgrades: [], manager: 'npm' }, + { baseBranch: 'dev', branchName, upgrades: [], manager: 'npm' }, + ]; repoCache.getCache.mockReturnValueOnce({}); branchWorker.processBranch.mockResolvedValueOnce({ branchExists: true, @@ -114,9 +134,10 @@ describe('workers/repository/process/write', () => { }); it('return no-work if branch fingerprint is not different', async () => { - const branches = partial<BranchConfig[]>([ + const branches: BranchConfig[] = [ { branchName: 'new/some-branch', + baseBranch: 'base', manager: 'npm', upgrades: [ { @@ -124,7 +145,7 @@ describe('workers/repository/process/write', () => { } as BranchUpgradeConfig, ], }, - ]); + ]; repoCache.getCache.mockReturnValueOnce({ branches: [ { @@ -142,9 +163,10 @@ describe('workers/repository/process/write', () => { }); it('updates branch fingerprint when new commit is made', async () => { - const branches = partial<BranchConfig[]>([ + const branches: BranchConfig[] = [ { branchName: 'new/some-branch', + baseBranch: 'base', manager: 'npm', upgrades: [ { @@ -152,7 +174,7 @@ describe('workers/repository/process/write', () => { } as BranchUpgradeConfig, ], }, - ]); + ]; repoCache.getCache.mockReturnValueOnce({ branches: [ { @@ -183,7 +205,7 @@ describe('workers/repository/process/write', () => { }); it('caches same fingerprint when no commit is made', async () => { - const branches = partial<BranchConfig[]>([ + const branches: BranchConfig[] = [ { branchName: 'new/some-branch', baseBranch: 'base_branch', @@ -194,7 +216,7 @@ describe('workers/repository/process/write', () => { } as BranchUpgradeConfig, ], }, - ]); + ]; const managers = [ ...new Set( branches[0].upgrades @@ -224,7 +246,7 @@ describe('workers/repository/process/write', () => { }); it('creates new branchCache when cache is not enabled', async () => { - const branches = partial<BranchConfig[]>([ + const branches: BranchConfig[] = [ { branchName: 'new/some-branch', baseBranch: 'base_branch', @@ -235,7 +257,7 @@ describe('workers/repository/process/write', () => { } as BranchUpgradeConfig, ], }, - ]); + ]; const repoCacheObj = {} as RepoCacheData; repoCache.getCache.mockReturnValueOnce(repoCacheObj); branchWorker.processBranch.mockResolvedValueOnce({ @@ -264,31 +286,43 @@ describe('workers/repository/process/write', () => { }); describe('canSkipBranchUpdateCheck()', () => { - let branchCache = {} as BranchCache; + let branchCache: BranchCache = { + branchName: 'branch', + baseBranch: 'base', + baseBranchSha: 'base_sha', + sha: 'sha', + upgrades: [], + automerge: false, + prNo: null, + parentSha: null, + }; it('returns false if no cache', () => { branchCache = { + ...branchCache, branchName: 'new/some-branch', sha: '111', - } as BranchCache; + }; expect(canSkipBranchUpdateCheck(branchCache, '222')).toBe(false); }); it('returns false when fingerprints are not same', () => { branchCache = { + ...branchCache, branchName: 'new/some-branch', sha: '111', branchFingerprint: '211', - } as BranchCache; + }; expect(canSkipBranchUpdateCheck(branchCache, '222')).toBe(false); }); it('returns true', () => { branchCache = { + ...branchCache, branchName: 'new/some-branch', sha: '111', branchFingerprint: '222', - } as BranchCache; + }; expect(canSkipBranchUpdateCheck(branchCache, '222')).toBe(true); }); }); @@ -308,15 +342,19 @@ describe('workers/repository/process/write', () => { }); it('when base branch name is different updates it and invalidates isModified value', () => { - const repoCacheObj = { + const repoCacheObj: RepoCacheData = { branches: [ - partial<BranchCache>({ + { branchName: 'branch_name', - sha: 'sha', baseBranch: 'base_branch', + sha: 'sha', baseBranchSha: 'base_sha', isModified: true, - }), + upgrades: [], + automerge: false, + prNo: null, + parentSha: null, + }, ], }; repoCache.getCache.mockReturnValue(repoCacheObj); @@ -327,19 +365,27 @@ describe('workers/repository/process/write', () => { sha: 'sha', baseBranch: 'new_base_branch', baseBranchSha: 'base_sha', + upgrades: [], + automerge: false, + prNo: null, + parentSha: null, }); }); it('when base branch sha is different updates it and invalidates related values', () => { - const repoCacheObj = { + const repoCacheObj: RepoCacheData = { branches: [ - partial<BranchCache>({ + { branchName: 'branch_name', sha: 'sha', baseBranch: 'base_branch', baseBranchSha: 'base_sha', isBehindBase: true, - }), + upgrades: [], + automerge: false, + prNo: null, + parentSha: null, + }, ], }; repoCache.getCache.mockReturnValue(repoCacheObj); @@ -350,13 +396,17 @@ describe('workers/repository/process/write', () => { sha: 'sha', baseBranch: 'base_branch', baseBranchSha: 'new_base_sha', + upgrades: [], + automerge: false, + prNo: null, + parentSha: null, }); }); it('when branch sha is different updates it and invalidates related values', () => { - const repoCacheObj = { + const repoCacheObj: RepoCacheData = { branches: [ - partial<BranchCache>({ + { branchName: 'branch_name', sha: 'sha', baseBranch: 'base_branch', @@ -364,7 +414,11 @@ describe('workers/repository/process/write', () => { isBehindBase: true, isModified: true, branchFingerprint: '123', - }), + upgrades: [], + automerge: false, + prNo: null, + parentSha: null, + }, ], }; repoCache.getCache.mockReturnValue(repoCacheObj); @@ -375,6 +429,10 @@ describe('workers/repository/process/write', () => { sha: 'new_sha', baseBranch: 'base_branch', baseBranchSha: 'base_sha', + upgrades: [], + automerge: false, + prNo: null, + parentSha: null, }); }); }); diff --git a/lib/workers/repository/process/write.ts b/lib/workers/repository/process/write.ts index 6041a8324e..7b8600fc10 100644 --- a/lib/workers/repository/process/write.ts +++ b/lib/workers/repository/process/write.ts @@ -61,7 +61,7 @@ export function syncBranchState( // if base branch name has changed invalidate cached isModified state if (baseBranch !== branchState.baseBranch) { logger.debug('syncBranchState(): update baseBranch name'); - branchState.baseBranch = baseBranch!; + branchState.baseBranch = baseBranch; delete branchState.isModified; } @@ -120,8 +120,7 @@ export async function writeUpdates( } addMeta(meta); const branchExisted = branchExists(branchName); - // TODO: base branch name cannot be undefined - fix optional types (#7154) - const branchState = syncBranchState(branchName, baseBranch!); + const branchState = syncBranchState(branchName, baseBranch); const managers = [ ...new Set( @@ -148,8 +147,7 @@ export async function writeUpdates( : branchState.branchFingerprint; if (res?.commitSha) { - // TODO: base branch name cannot be undefined - fix optional types (#7154) - setBranchNewCommit(branchName, baseBranch!, res.commitSha); + setBranchNewCommit(branchName, baseBranch, res.commitSha); } if ( branch.result === BranchResult.Automerged && diff --git a/lib/workers/repository/update/branch/execute-post-upgrade-commands.spec.ts b/lib/workers/repository/update/branch/execute-post-upgrade-commands.spec.ts index 0e29fd3e1f..583a2c4d62 100644 --- a/lib/workers/repository/update/branch/execute-post-upgrade-commands.spec.ts +++ b/lib/workers/repository/update/branch/execute-post-upgrade-commands.spec.ts @@ -30,6 +30,7 @@ describe('workers/repository/update/branch/execute-post-upgrade-commands', () => artifactErrors: [], upgrades: [], branchName: 'main', + baseBranch: 'base', }; git.getRepoStatus.mockResolvedValueOnce( partial<StatusResult>({ diff --git a/lib/workers/repository/update/branch/index.ts b/lib/workers/repository/update/branch/index.ts index a0692ecae0..88d559f24d 100644 --- a/lib/workers/repository/update/branch/index.ts +++ b/lib/workers/repository/update/branch/index.ts @@ -1,4 +1,3 @@ -// TODO #7154 import is from '@sindresorhus/is'; import { DateTime } from 'luxon'; import { GlobalConfig } from '../../../../config/global'; @@ -391,7 +390,7 @@ export async function processBranch( // TODO: types (#7154) logger.debug(`Using reuseExistingBranch: ${config.reuseExistingBranch!}`); if (!(config.reuseExistingBranch && config.skipBranchUpdate)) { - await checkoutBranch(config.baseBranch!); + await checkoutBranch(config.baseBranch); const res = await getUpdatedPackageFiles(config); // istanbul ignore if if (res.artifactErrors && config.artifactErrors) { @@ -480,7 +479,7 @@ export async function processBranch( config.isConflicted ??= branchExists && - (await isBranchConflicted(config.baseBranch!, config.branchName)); + (await isBranchConflicted(config.baseBranch, config.branchName)); config.forceCommit = forcedManually || config.isConflicted; config.stopUpdating = branchPr?.labels?.includes( @@ -543,8 +542,8 @@ export async function processBranch( logger.info({ commitSha }, `Branch ${action}`); // TODO #7154 setCachedConflictResult( - config.baseBranch!, - getBranchCommit(config.baseBranch!)!, + config.baseBranch, + getBranchCommit(config.baseBranch)!, config.branchName, commitSha, false diff --git a/lib/workers/repository/update/branch/reuse.spec.ts b/lib/workers/repository/update/branch/reuse.spec.ts index ce9ca6ccaf..db20ecc456 100644 --- a/lib/workers/repository/update/branch/reuse.spec.ts +++ b/lib/workers/repository/update/branch/reuse.spec.ts @@ -20,6 +20,7 @@ describe('workers/repository/update/branch/reuse', () => { config = { manager: 'some-manager', branchName: 'renovate/some-branch', + baseBranch: 'base', rebaseLabel: 'rebase', rebaseWhen: 'behind-base-branch', upgrades: [], diff --git a/lib/workers/repository/update/branch/reuse.ts b/lib/workers/repository/update/branch/reuse.ts index 39e4e55f11..767e212256 100644 --- a/lib/workers/repository/update/branch/reuse.ts +++ b/lib/workers/repository/update/branch/reuse.ts @@ -1,4 +1,3 @@ -// TODO #7154 import { GlobalConfig } from '../../../../config/global'; import { logger } from '../../../../logger'; import { platform } from '../../../../modules/platform'; @@ -62,8 +61,7 @@ export async function shouldReuseExistingBranch( (config.rebaseWhen === 'auto' && (config.automerge || (await platform.getRepoForceRebase()))) ) { - // TODO: fix types (#7154) - if (await isBranchBehindBase(branchName, baseBranch!)) { + if (await isBranchBehindBase(branchName, baseBranch)) { logger.debug(`Branch is behind base branch and needs rebasing`); // We can rebase the branch only if no PR or PR can be rebased if (await isBranchModified(branchName)) { @@ -83,7 +81,7 @@ export async function shouldReuseExistingBranch( } // Now check if PR is unmergeable. If so then we also rebase - result.isConflicted = await isBranchConflicted(baseBranch!, branchName); + result.isConflicted = await isBranchConflicted(baseBranch, branchName); if (result.isConflicted) { logger.debug('Branch is conflicted'); diff --git a/lib/workers/repository/update/pr/automerge.ts b/lib/workers/repository/update/pr/automerge.ts index 43b6110471..884d9bd606 100644 --- a/lib/workers/repository/update/pr/automerge.ts +++ b/lib/workers/repository/update/pr/automerge.ts @@ -57,7 +57,7 @@ export async function checkAutoMerge( } const isConflicted = config.isConflicted ?? - (await isBranchConflicted(config.baseBranch!, config.branchName)); + (await isBranchConflicted(config.baseBranch, config.branchName)); if (isConflicted) { logger.debug('PR is conflicted'); return { diff --git a/lib/workers/repository/update/pr/body/changelogs.spec.ts b/lib/workers/repository/update/pr/body/changelogs.spec.ts index bfefb10bc4..01ffa96c20 100644 --- a/lib/workers/repository/update/pr/body/changelogs.spec.ts +++ b/lib/workers/repository/update/pr/body/changelogs.spec.ts @@ -14,6 +14,7 @@ describe('workers/repository/update/pr/body/changelogs', () => { const res = getChangelogs({ manager: 'some-manager', branchName: 'some-branch', + baseBranch: 'base', upgrades: [], hasReleaseNotes: false, }); @@ -34,6 +35,7 @@ describe('workers/repository/update/pr/body/changelogs', () => { const res = getChangelogs({ branchName: 'some-branch', + baseBranch: 'base', manager: 'some-manager', upgrades: [ { diff --git a/lib/workers/repository/update/pr/body/config-description.spec.ts b/lib/workers/repository/update/pr/body/config-description.spec.ts index 15c38da332..47adb28a93 100644 --- a/lib/workers/repository/update/pr/body/config-description.spec.ts +++ b/lib/workers/repository/update/pr/body/config-description.spec.ts @@ -11,6 +11,7 @@ describe('workers/repository/update/pr/body/config-description', () => { describe('getPrConfigDescription', () => { const config: BranchConfig = { manager: 'some-manager', + baseBranch: 'base', branchName: 'some-branch', upgrades: [], }; diff --git a/lib/workers/repository/update/pr/body/footer.spec.ts b/lib/workers/repository/update/pr/body/footer.spec.ts index 51c1ec24e2..86952b25d5 100644 --- a/lib/workers/repository/update/pr/body/footer.spec.ts +++ b/lib/workers/repository/update/pr/body/footer.spec.ts @@ -14,6 +14,7 @@ describe('workers/repository/update/pr/body/footer', () => { expect( getPrFooter({ manager: 'some-manager', + baseBranch: 'base', branchName: 'branch', upgrades: [], }) @@ -25,6 +26,7 @@ describe('workers/repository/update/pr/body/footer', () => { expect( getPrFooter({ manager: 'some-manager', + baseBranch: 'base', branchName: 'branch', upgrades: [], prFooter: 'FOOTER', diff --git a/lib/workers/repository/update/pr/body/header.spec.ts b/lib/workers/repository/update/pr/body/header.spec.ts index 85f43a824a..c032ebe8d3 100644 --- a/lib/workers/repository/update/pr/body/header.spec.ts +++ b/lib/workers/repository/update/pr/body/header.spec.ts @@ -14,6 +14,7 @@ describe('workers/repository/update/pr/body/header', () => { expect( getPrHeader({ manager: 'some-manager', + baseBranch: 'base', branchName: 'branch', upgrades: [], }) @@ -26,6 +27,7 @@ describe('workers/repository/update/pr/body/header', () => { getPrHeader({ manager: 'some-manager', branchName: 'branch', + baseBranch: 'base', upgrades: [], prHeader: 'HEADER', }) diff --git a/lib/workers/repository/update/pr/body/index.spec.ts b/lib/workers/repository/update/pr/body/index.spec.ts index 670c85f644..f9cb535ada 100644 --- a/lib/workers/repository/update/pr/body/index.spec.ts +++ b/lib/workers/repository/update/pr/body/index.spec.ts @@ -55,6 +55,7 @@ describe('workers/repository/update/pr/body/index', () => { { manager: 'some-manager', branchName: 'some-branch', + baseBranch: 'base', upgrades: [], }, { @@ -82,6 +83,7 @@ describe('workers/repository/update/pr/body/index', () => { await getPrBody( { manager: 'some-manager', + baseBranch: 'base', branchName: 'some-branch', upgrades: [upgrade], }, @@ -118,6 +120,7 @@ describe('workers/repository/update/pr/body/index', () => { await getPrBody( { manager: 'some-manager', + baseBranch: 'base', branchName: 'some-branch', upgrades: [upgrade], }, @@ -144,6 +147,7 @@ describe('workers/repository/update/pr/body/index', () => { { manager: 'some-manager', branchName: 'some-branch', + baseBranch: 'base', upgrades: [], prBodyTemplate: 'PR BODY', }, @@ -164,6 +168,7 @@ describe('workers/repository/update/pr/body/index', () => { const res = await getPrBody( { manager: 'some-manager', + baseBranch: 'base', branchName: 'some-branch', upgrades: [], prBodyTemplate: ['aaa', '**Rebasing**: FOO', 'bbb'].join('\n'), @@ -187,6 +192,7 @@ describe('workers/repository/update/pr/body/index', () => { manager: 'some-manager', branchName: 'some-branch', upgrades: [], + baseBranch: 'base', prBodyTemplate: 'PR BODY', }, { @@ -235,6 +241,7 @@ describe('workers/repository/update/pr/body/index', () => { upgrades: [], packageFiles, prBodyTemplate: '{{{warnings}}}', + baseBranch: 'base', }, { debugData: { diff --git a/lib/workers/repository/update/pr/body/notes.spec.ts b/lib/workers/repository/update/pr/body/notes.spec.ts index fa201b5f1e..7141511fb7 100644 --- a/lib/workers/repository/update/pr/body/notes.spec.ts +++ b/lib/workers/repository/update/pr/body/notes.spec.ts @@ -15,6 +15,7 @@ describe('workers/repository/update/pr/body/notes', () => { const res = getPrNotes({ manager: 'some-manager', branchName: 'branch', + baseBranch: 'base', upgrades: [ { manager: 'some-manager', @@ -33,6 +34,7 @@ describe('workers/repository/update/pr/body/notes', () => { const res = getPrNotes({ manager: 'some-manager', branchName: 'branch', + baseBranch: 'base', upgrades: [ { manager: 'some-manager', @@ -48,6 +50,7 @@ describe('workers/repository/update/pr/body/notes', () => { const res = getPrExtraNotes({ manager: 'some-manager', branchName: 'branch', + baseBranch: 'base', upgrades: [ { manager: 'some-manager', branchName: 'branch', gitRef: true }, ], diff --git a/lib/workers/repository/update/pr/body/updates-table.spec.ts b/lib/workers/repository/update/pr/body/updates-table.spec.ts index 82715c4b16..36f2154afb 100644 --- a/lib/workers/repository/update/pr/body/updates-table.spec.ts +++ b/lib/workers/repository/update/pr/body/updates-table.spec.ts @@ -6,6 +6,7 @@ describe('workers/repository/update/pr/body/updates-table', () => { const configObj: BranchConfig = { manager: 'some-manager', branchName: 'some-branch', + baseBranch: 'base', upgrades: [], prBodyColumns: undefined, }; @@ -90,6 +91,7 @@ describe('workers/repository/update/pr/body/updates-table', () => { const configObj: BranchConfig = { manager: 'some-manager', branchName: 'some-branch', + baseBranch: 'base', upgrades: [upgrade0, upgrade1, upgrade2, upgrade3], prBodyColumns: ['Package', 'Type', 'Update', 'Change', 'Pending'], prBodyDefinitions: { diff --git a/lib/workers/repository/update/pr/index.spec.ts b/lib/workers/repository/update/pr/index.spec.ts index fb4028badf..03a82eaff3 100644 --- a/lib/workers/repository/update/pr/index.spec.ts +++ b/lib/workers/repository/update/pr/index.spec.ts @@ -60,6 +60,7 @@ describe('workers/repository/update/pr/index', () => { const config: BranchConfig = { manager: 'some-manager', branchName: sourceBranch, + baseBranch: 'base', upgrades: [], prTitle, }; diff --git a/lib/workers/types.ts b/lib/workers/types.ts index 1da19fe992..efa2643605 100644 --- a/lib/workers/types.ts +++ b/lib/workers/types.ts @@ -112,7 +112,7 @@ export interface BranchConfig PlatformPrOptions { automergeComment?: string; automergeType?: string; - baseBranch?: string; + baseBranch: string; errors?: ValidationMessage[]; hasTypes?: boolean; dependencyDashboardChecks?: Record<string, string>; diff --git a/test/util.ts b/test/util.ts index e7aed38653..4d893d8d99 100644 --- a/test/util.ts +++ b/test/util.ts @@ -33,8 +33,10 @@ export function mockedFunction<T extends (...args: any[]) => any>( * Simply wrapper to create partial mocks. * @param obj Object to cast to final type */ -export function partial<T>(obj: Partial<T>): T { - return obj as T; +export function partial<T>(obj: Partial<T>): T; +export function partial<T>(obj: Partial<T>[]): T[]; +export function partial(obj: unknown): unknown { + return obj; } export const fs = mocked(_fs); -- GitLab