From 18c2850f20e238384b618b7aabb29f231bebc876 Mon Sep 17 00:00:00 2001
From: RahulGautamSingh <rahultesnik@gmail.com>
Date: Thu, 15 Jun 2023 10:18:56 +0545
Subject: [PATCH] refactor(test): use minimal config objects (#22769)

---
 lib/util/git/semantic.spec.ts                  |  6 ++----
 lib/workers/repository/configured.spec.ts      |  8 +++++---
 lib/workers/repository/error-config.spec.ts    | 15 ++++++++-------
 lib/workers/repository/error.spec.ts           |  4 ++--
 lib/workers/repository/errors-warnings.spec.ts |  6 +++---
 .../repository/extract/manager-files.spec.ts   |  4 ++--
 lib/workers/repository/finalize/prune.spec.ts  | 14 +++++++++-----
 .../finalize/repository-statistics.spec.ts     | 14 ++++++--------
 lib/workers/repository/init/cache.spec.ts      |  7 +++++--
 .../onboarding/branch/config.spec.ts           | 12 ++++++++----
 .../onboarding/pr/base-branch.spec.ts          |  4 ++--
 .../onboarding/pr/config-description.spec.ts   |  4 ++--
 .../repository/onboarding/pr/pr-list.spec.ts   |  6 ++++--
 lib/workers/repository/process/limits.spec.ts  | 18 ++++++++----------
 .../process/lookup/filter-checks.spec.ts       |  5 ++---
 lib/workers/repository/result.spec.ts          |  7 +++++--
 .../repository/update/branch/automerge.spec.ts | 10 ++--------
 .../update/branch/lock-files/index.spec.ts     |  2 --
 .../update/branch/status-checks.spec.ts        |  8 +++-----
 19 files changed, 78 insertions(+), 76 deletions(-)

diff --git a/lib/util/git/semantic.spec.ts b/lib/util/git/semantic.spec.ts
index 2a67716a69..d15876b9be 100644
--- a/lib/util/git/semantic.spec.ts
+++ b/lib/util/git/semantic.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig, git } from '../../../test/util';
+import { RenovateConfig, git, partial } from '../../../test/util';
 import { initRepoCache } from '../cache/repository/init';
 import { detectSemanticCommits } from './semantic';
 
@@ -8,9 +8,7 @@ let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
-  config.errors = [];
-  config.warnings = [];
+  config = partial<RenovateConfig>();
 });
 
 describe('util/git/semantic', () => {
diff --git a/lib/workers/repository/configured.spec.ts b/lib/workers/repository/configured.spec.ts
index dd658b52a1..c219be9444 100644
--- a/lib/workers/repository/configured.spec.ts
+++ b/lib/workers/repository/configured.spec.ts
@@ -1,11 +1,14 @@
-import { RenovateConfig, getConfig } from '../../../test/util';
+import { RenovateConfig, partial } from '../../../test/util';
 import { checkIfConfigured } from './configured';
 
 let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
+  config = partial<RenovateConfig>({
+    enabled: true,
+    forkProcessing: 'auto',
+  });
 });
 
 describe('workers/repository/configured', () => {
@@ -22,7 +25,6 @@ describe('workers/repository/configured', () => {
     it('throws if unconfigured fork', () => {
       config.enabled = true;
       config.isFork = true;
-      config.renovateJsonPresent = false;
       expect(() => checkIfConfigured(config)).toThrow();
     });
   });
diff --git a/lib/workers/repository/error-config.spec.ts b/lib/workers/repository/error-config.spec.ts
index 8afce57c48..2eb296e73a 100644
--- a/lib/workers/repository/error-config.spec.ts
+++ b/lib/workers/repository/error-config.spec.ts
@@ -1,10 +1,5 @@
 import { mock } from 'jest-mock-extended';
-import {
-  RenovateConfig,
-  getConfig,
-  partial,
-  platform,
-} from '../../../test/util';
+import { RenovateConfig, partial, platform } from '../../../test/util';
 import { GlobalConfig } from '../../config/global';
 import { CONFIG_VALIDATION } from '../../constants/error-messages';
 import { logger } from '../../logger';
@@ -20,7 +15,13 @@ let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
+  // default values
+  config = partial<RenovateConfig>({
+    onboardingBranch: 'configure/renovate',
+    suppressNotifications: ['deprecationWarningIssues'],
+    configWarningReuseIssue: true,
+    confidential: false,
+  });
 });
 
 describe('workers/repository/error-config', () => {
diff --git a/lib/workers/repository/error.spec.ts b/lib/workers/repository/error.spec.ts
index 3271f7bfbb..07cd0838ed 100644
--- a/lib/workers/repository/error.spec.ts
+++ b/lib/workers/repository/error.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig } from '../../../test/util';
+import { RenovateConfig, partial } from '../../../test/util';
 import {
   CONFIG_SECRETS_EXPOSED,
   CONFIG_VALIDATION,
@@ -37,7 +37,7 @@ let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
+  config = partial<RenovateConfig>({ branchList: [] });
 });
 
 describe('workers/repository/error', () => {
diff --git a/lib/workers/repository/errors-warnings.spec.ts b/lib/workers/repository/errors-warnings.spec.ts
index 0711c6d028..382f5baaef 100644
--- a/lib/workers/repository/errors-warnings.spec.ts
+++ b/lib/workers/repository/errors-warnings.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig } from '../../../test/util';
+import { RenovateConfig, partial } from '../../../test/util';
 import type { PackageFile } from '../../modules/manager/types';
 import {
   getDepWarningsDashboard,
@@ -14,7 +14,7 @@ describe('workers/repository/errors-warnings', () => {
 
     beforeEach(() => {
       jest.resetAllMocks();
-      config = getConfig();
+      config = partial<RenovateConfig>();
     });
 
     it('returns warning text', () => {
@@ -228,7 +228,7 @@ describe('workers/repository/errors-warnings', () => {
 
     beforeEach(() => {
       jest.resetAllMocks();
-      config = getConfig();
+      config = partial<RenovateConfig>();
     });
 
     it('returns error text', () => {
diff --git a/lib/workers/repository/extract/manager-files.spec.ts b/lib/workers/repository/extract/manager-files.spec.ts
index 3dbafbc151..d081eab4b9 100644
--- a/lib/workers/repository/extract/manager-files.spec.ts
+++ b/lib/workers/repository/extract/manager-files.spec.ts
@@ -1,4 +1,4 @@
-import { fs, getConfig, mocked } from '../../../../test/util';
+import { fs, mocked, partial } from '../../../../test/util';
 import type { RenovateConfig } from '../../../config/types';
 import * as _html from '../../../modules/manager/html';
 import * as _fileMatch from './file-match';
@@ -17,7 +17,7 @@ describe('workers/repository/extract/manager-files', () => {
 
     beforeEach(() => {
       jest.resetAllMocks();
-      config = getConfig();
+      config = partial<RenovateConfig>();
     });
 
     it('returns empty of manager is disabled', async () => {
diff --git a/lib/workers/repository/finalize/prune.spec.ts b/lib/workers/repository/finalize/prune.spec.ts
index 61d880f21f..9e0a23074c 100644
--- a/lib/workers/repository/finalize/prune.spec.ts
+++ b/lib/workers/repository/finalize/prune.spec.ts
@@ -1,6 +1,5 @@
 import {
   RenovateConfig,
-  getConfig,
   git,
   partial,
   platform,
@@ -16,10 +15,15 @@ let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
-  config.platform = 'github';
-  config.errors = [];
-  config.warnings = [];
+  config = partial<RenovateConfig>({
+    repoIsOnboarded: true,
+    branchPrefix: `renovate/`,
+    pruneStaleBranches: true,
+    ignoredAuthors: [],
+    platform: 'github',
+    errors: [],
+    warnings: [],
+  });
 });
 
 describe('workers/repository/finalize/prune', () => {
diff --git a/lib/workers/repository/finalize/repository-statistics.spec.ts b/lib/workers/repository/finalize/repository-statistics.spec.ts
index 68f7ff022e..6d65e88af8 100644
--- a/lib/workers/repository/finalize/repository-statistics.spec.ts
+++ b/lib/workers/repository/finalize/repository-statistics.spec.ts
@@ -1,10 +1,5 @@
 import { Fixtures } from '../../../../test/fixtures';
-import {
-  RenovateConfig,
-  getConfig,
-  mockedFunction,
-  partial,
-} from '../../../../test/util';
+import { RenovateConfig, mockedFunction, partial } from '../../../../test/util';
 import { logger } from '../../../logger';
 import { platform } from '../../../modules/platform';
 import * as cache from '../../../util/cache/repository';
@@ -32,9 +27,12 @@ describe('workers/repository/finalize/repository-statistics', () => {
 
   describe('runRenovateRepoStats', () => {
     beforeEach(() => {
-      config = getConfig();
       mockedFunction(platform.getPrList).mockReturnValue(prJson);
-      config.repository = 'owner/repo';
+      config = partial<RenovateConfig>({
+        onboardingPrTitle: 'Configure Renovate',
+        defaultBranch: 'main',
+        repository: 'owner/repo',
+      });
     });
 
     it('Calls runRenovateRepoStats', () => {
diff --git a/lib/workers/repository/init/cache.spec.ts b/lib/workers/repository/init/cache.spec.ts
index ffb67f92f0..05db97239f 100644
--- a/lib/workers/repository/init/cache.spec.ts
+++ b/lib/workers/repository/init/cache.spec.ts
@@ -1,5 +1,6 @@
-import { getConfig } from '../../../../test/util';
+import { partial } from '../../../../test/util';
 import { GlobalConfig } from '../../../config/global';
+import type { RepositoryCacheConfig } from '../../../config/types';
 import type { WorkerPlatformConfig } from './apis';
 import { initializeCaches } from './cache';
 
@@ -9,7 +10,9 @@ describe('workers/repository/init/cache', () => {
 
     beforeEach(() => {
       config = {
-        ...getConfig(),
+        repository: '',
+        repositoryCache: partial<RepositoryCacheConfig>(),
+        repositoryCacheType: 'local',
         repoFingerprint: '0123456789abcdef',
         defaultBranch: 'main',
         isFork: false,
diff --git a/lib/workers/repository/onboarding/branch/config.spec.ts b/lib/workers/repository/onboarding/branch/config.spec.ts
index 041cb3dc2a..297fbb50b2 100644
--- a/lib/workers/repository/onboarding/branch/config.spec.ts
+++ b/lib/workers/repository/onboarding/branch/config.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig } from '../../../../../test/util';
+import { RenovateConfig, partial } from '../../../../../test/util';
 import { GlobalConfig } from '../../../../config/global';
 import * as presets from '../../../../config/presets/local';
 import { PRESET_DEP_NOT_FOUND } from '../../../../config/presets/util';
@@ -19,9 +19,13 @@ describe('workers/repository/onboarding/branch/config', () => {
   });
 
   beforeEach(() => {
-    config = getConfig();
-    config.platform = 'github';
-    config.repository = 'some/repo';
+    config = partial<RenovateConfig>({
+      onboardingConfig: {
+        $schema: 'https://docs.renovatebot.com/renovate-schema.json',
+      },
+      platform: 'github',
+      repository: 'some/repo',
+    });
   });
 
   describe('getOnboardingConfigContents', () => {
diff --git a/lib/workers/repository/onboarding/pr/base-branch.spec.ts b/lib/workers/repository/onboarding/pr/base-branch.spec.ts
index a6cc6670c4..6ceed10958 100644
--- a/lib/workers/repository/onboarding/pr/base-branch.spec.ts
+++ b/lib/workers/repository/onboarding/pr/base-branch.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig } from '../../../../../test/util';
+import { RenovateConfig, partial } from '../../../../../test/util';
 
 import { getBaseBranchDesc } from './base-branch';
 
@@ -8,7 +8,7 @@ describe('workers/repository/onboarding/pr/base-branch', () => {
 
     beforeEach(() => {
       jest.resetAllMocks();
-      config = getConfig();
+      config = partial<RenovateConfig>();
     });
 
     it('returns empty if no baseBranch', () => {
diff --git a/lib/workers/repository/onboarding/pr/config-description.spec.ts b/lib/workers/repository/onboarding/pr/config-description.spec.ts
index 39c3a4f8b1..5384475673 100644
--- a/lib/workers/repository/onboarding/pr/config-description.spec.ts
+++ b/lib/workers/repository/onboarding/pr/config-description.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig } from '../../../../../test/util';
+import { RenovateConfig, partial } from '../../../../../test/util';
 import type { PackageFile } from '../../../../modules/manager/types';
 import { getConfigDesc } from './config-description';
 
@@ -8,7 +8,7 @@ describe('workers/repository/onboarding/pr/config-description', () => {
 
     beforeEach(() => {
       jest.resetAllMocks();
-      config = getConfig();
+      config = partial<RenovateConfig>();
     });
 
     it('returns empty', () => {
diff --git a/lib/workers/repository/onboarding/pr/pr-list.spec.ts b/lib/workers/repository/onboarding/pr/pr-list.spec.ts
index 5495856572..9672b38b4a 100644
--- a/lib/workers/repository/onboarding/pr/pr-list.spec.ts
+++ b/lib/workers/repository/onboarding/pr/pr-list.spec.ts
@@ -1,4 +1,4 @@
-import { RenovateConfig, getConfig } from '../../../../../test/util';
+import { RenovateConfig, partial } from '../../../../../test/util';
 import type { BranchConfig } from '../../../types';
 import { getPrList } from './pr-list';
 
@@ -8,7 +8,9 @@ describe('workers/repository/onboarding/pr/pr-list', () => {
 
     beforeEach(() => {
       jest.resetAllMocks();
-      config = getConfig();
+      config = partial<RenovateConfig>({
+        prHourlyLimit: 2, // default
+      });
     });
 
     it('handles empty', () => {
diff --git a/lib/workers/repository/process/limits.spec.ts b/lib/workers/repository/process/limits.spec.ts
index 70801a7a35..7c3f431363 100644
--- a/lib/workers/repository/process/limits.spec.ts
+++ b/lib/workers/repository/process/limits.spec.ts
@@ -1,11 +1,5 @@
 import { DateTime } from 'luxon';
-import {
-  RenovateConfig,
-  getConfig,
-  partial,
-  platform,
-  scm,
-} from '../../../../test/util';
+import { RenovateConfig, partial, platform, scm } from '../../../../test/util';
 import type { Pr } from '../../../modules/platform/types';
 import type { BranchConfig } from '../../types';
 import * as limits from './limits';
@@ -14,7 +8,13 @@ let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
+  config = partial<RenovateConfig>({
+    branchPrefix: 'foo/',
+    onboardingBranch: 'bar/configure',
+    prHourlyLimit: 2,
+    prConcurrentLimit: 10,
+    branchConcurrentLimit: null,
+  });
 });
 
 describe('workers/repository/process/limits', () => {
@@ -36,8 +36,6 @@ describe('workers/repository/process/limits', () => {
       const res = await limits.getPrHourlyRemaining({
         ...config,
         prHourlyLimit: 10,
-        branchPrefix: 'foo/',
-        onboardingBranch: 'bar/configure',
       });
       expect(res).toBe(7);
     });
diff --git a/lib/workers/repository/process/lookup/filter-checks.spec.ts b/lib/workers/repository/process/lookup/filter-checks.spec.ts
index 9e950ed707..c57df340d0 100644
--- a/lib/workers/repository/process/lookup/filter-checks.spec.ts
+++ b/lib/workers/repository/process/lookup/filter-checks.spec.ts
@@ -1,4 +1,4 @@
-import { getConfig, mocked } from '../../../../../test/util';
+import { mocked } from '../../../../../test/util';
 import type { Release } from '../../../../modules/datasource';
 import * as allVersioning from '../../../../modules/versioning';
 import * as _dateUtil from '../../../../util/date';
@@ -40,8 +40,7 @@ describe('workers/repository/process/lookup/filter-checks', () => {
   let sortedReleases: Release[];
 
   beforeEach(() => {
-    config = getConfig();
-    config.currentVersion = '1.0.0';
+    config = { currentVersion: '1.0.0' };
     sortedReleases = structuredClone(releases);
     jest.resetAllMocks();
     dateUtil.getElapsedMs.mockReturnValueOnce(toMs('3 days') ?? 0);
diff --git a/lib/workers/repository/result.spec.ts b/lib/workers/repository/result.spec.ts
index 888778c78f..aced77a3d8 100644
--- a/lib/workers/repository/result.spec.ts
+++ b/lib/workers/repository/result.spec.ts
@@ -1,11 +1,14 @@
-import { RenovateConfig, getConfig } from '../../../test/util';
+import { RenovateConfig, partial } from '../../../test/util';
 import { processResult } from './result';
 
 let config: RenovateConfig;
 
 beforeEach(() => {
   jest.resetAllMocks();
-  config = getConfig();
+  config = partial<RenovateConfig>({
+    repoIsActivated: true,
+    repoIsOnboarded: true,
+  });
 });
 
 describe('workers/repository/result', () => {
diff --git a/lib/workers/repository/update/branch/automerge.spec.ts b/lib/workers/repository/update/branch/automerge.spec.ts
index db205fbfde..c675d1619d 100644
--- a/lib/workers/repository/update/branch/automerge.spec.ts
+++ b/lib/workers/repository/update/branch/automerge.spec.ts
@@ -1,10 +1,4 @@
-import {
-  getConfig,
-  git,
-  partial,
-  platform,
-  scm,
-} from '../../../../../test/util';
+import { git, partial, platform, scm } from '../../../../../test/util';
 import { GlobalConfig } from '../../../../config/global';
 import type { RenovateConfig } from '../../../../config/types';
 import type { Pr } from '../../../../modules/platform/types';
@@ -19,7 +13,7 @@ describe('workers/repository/update/branch/automerge', () => {
     let config: RenovateConfig;
 
     beforeEach(() => {
-      config = getConfig();
+      config = partial<RenovateConfig>();
       GlobalConfig.reset();
     });
 
diff --git a/lib/workers/repository/update/branch/lock-files/index.spec.ts b/lib/workers/repository/update/branch/lock-files/index.spec.ts
index 5c0e2fa6b9..e3d77a7e11 100644
--- a/lib/workers/repository/update/branch/lock-files/index.spec.ts
+++ b/lib/workers/repository/update/branch/lock-files/index.spec.ts
@@ -1,5 +1,4 @@
 import { fs, git, mocked } from '../../../../../../test/util';
-import { getConfig } from '../../../../../config/defaults';
 import { GlobalConfig } from '../../../../../config/global';
 import * as lockFiles from '../../../../../modules/manager/npm/post-update';
 import * as lerna from '../../../../../modules/manager/npm/post-update/lerna';
@@ -10,7 +9,6 @@ import type { PostUpdateConfig } from '../../../../../modules/manager/types';
 import * as _hostRules from '../../../../../util/host-rules';
 
 const config: PostUpdateConfig = {
-  ...getConfig(),
   upgrades: [],
   branchName: 'some-branch',
 };
diff --git a/lib/workers/repository/update/branch/status-checks.spec.ts b/lib/workers/repository/update/branch/status-checks.spec.ts
index 93a811f14f..4faeefe9c0 100644
--- a/lib/workers/repository/update/branch/status-checks.spec.ts
+++ b/lib/workers/repository/update/branch/status-checks.spec.ts
@@ -1,4 +1,4 @@
-import { getConfig, platform } from '../../../../../test/util';
+import { partial, platform } from '../../../../../test/util';
 import {
   ConfidenceConfig,
   StabilityConfig,
@@ -12,10 +12,9 @@ describe('workers/repository/update/branch/status-checks', () => {
     let config: StabilityConfig;
 
     beforeEach(() => {
-      config = {
-        ...getConfig(),
+      config = partial<StabilityConfig>({
         branchName: 'renovate/some-branch',
-      };
+      });
     });
 
     afterEach(() => {
@@ -55,7 +54,6 @@ describe('workers/repository/update/branch/status-checks', () => {
 
     beforeEach(() => {
       config = {
-        ...getConfig(),
         branchName: 'renovate/some-branch',
       };
     });
-- 
GitLab