From c42957a804d501e10eed19a1bf96069eaa9c1fdf Mon Sep 17 00:00:00 2001
From: RahulGautamSingh <rahultesnik@gmail.com>
Date: Mon, 20 Jun 2022 12:10:57 +0530
Subject: [PATCH] refactor(modules/versioning): fix null check issues in tests
 (#16145)

* fix null-check issues

* Update lib/modules/versioning/versioning-metadata.spec.ts

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
---
 lib/modules/versioning/composer/index.spec.ts      | 2 +-
 lib/modules/versioning/docker/index.spec.ts        | 4 ++--
 lib/modules/versioning/hashicorp/index.spec.ts     | 2 +-
 lib/modules/versioning/index.spec.ts               | 8 ++++----
 lib/modules/versioning/poetry/index.spec.ts        | 2 +-
 lib/modules/versioning/regex/index.spec.ts         | 8 ++++----
 lib/modules/versioning/versioning-metadata.spec.ts | 2 +-
 tsconfig.strict.json                               | 1 -
 8 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/lib/modules/versioning/composer/index.spec.ts b/lib/modules/versioning/composer/index.spec.ts
index 3c4543f740..56820f37fa 100644
--- a/lib/modules/versioning/composer/index.spec.ts
+++ b/lib/modules/versioning/composer/index.spec.ts
@@ -71,7 +71,7 @@ describe('modules/versioning/composer/index', () => {
     ${'0.3.1'} | ${'~0.4'} | ${true}
     ${'0.5.1'} | ${'~0.4'} | ${false}
   `('isLessThanRange("$a", "$b") === $expected', ({ a, b, expected }) => {
-    expect(semver.isLessThanRange(a, b)).toBe(expected);
+    expect(semver.isLessThanRange?.(a, b)).toBe(expected);
   });
 
   test.each`
diff --git a/lib/modules/versioning/docker/index.spec.ts b/lib/modules/versioning/docker/index.spec.ts
index 4238599b26..8f420eb63d 100644
--- a/lib/modules/versioning/docker/index.spec.ts
+++ b/lib/modules/versioning/docker/index.spec.ts
@@ -60,7 +60,7 @@ describe('modules/versioning/docker/index', () => {
   `(
     'isLessThanRange($version, $range) === $expected',
     ({ version, range, expected }) => {
-      expect(docker.isLessThanRange(version, range)).toBe(expected);
+      expect(docker.isLessThanRange?.(version, range)).toBe(expected);
     }
   );
 
@@ -205,7 +205,7 @@ describe('modules/versioning/docker/index', () => {
     ${'3.8.2'}          | ${'3.8.2'}
     ${undefined}        | ${undefined}
   `('valueToVersion("$value") === $expected', ({ value, expected }) => {
-    const res = docker.valueToVersion(value);
+    const res = docker.valueToVersion?.(value);
     expect(res).toBe(expected);
   });
 });
diff --git a/lib/modules/versioning/hashicorp/index.spec.ts b/lib/modules/versioning/hashicorp/index.spec.ts
index fc4d18bb2c..ef3904d9f8 100644
--- a/lib/modules/versioning/hashicorp/index.spec.ts
+++ b/lib/modules/versioning/hashicorp/index.spec.ts
@@ -38,7 +38,7 @@ describe('modules/versioning/hashicorp/index', () => {
   `(
     'isLessThanRange($version, $range) === $expected',
     ({ version, range, expected }) => {
-      expect(semver.isLessThanRange(version, range)).toBe(expected);
+      expect(semver.isLessThanRange?.(version, range)).toBe(expected);
     }
   );
 
diff --git a/lib/modules/versioning/index.spec.ts b/lib/modules/versioning/index.spec.ts
index 7a0aa24eb1..b7c8d3e28a 100644
--- a/lib/modules/versioning/index.spec.ts
+++ b/lib/modules/versioning/index.spec.ts
@@ -8,7 +8,7 @@ import * as allVersioning from '.';
 
 const supportedSchemes = getOptions().find(
   (option) => option.name === 'versioning'
-).allowedValues;
+)?.allowedValues;
 
 describe('modules/versioning/index', () => {
   it('has api', () => {
@@ -52,7 +52,7 @@ describe('modules/versioning/index', () => {
     expect(Array.from(vers.keys())).toEqual(Object.keys(loadedVers));
 
     for (const name of vers.keys()) {
-      const ver = vers.get(name);
+      const ver = vers.get(name)!;
       expect(validate(ver, name)).toBeTrue();
     }
   });
@@ -88,7 +88,7 @@ describe('modules/versioning/index', () => {
       .sort();
 
     function getAllPropertyNames(obj: any): string[] {
-      const props = [];
+      const props: string[] = [];
       let o = obj;
 
       do {
@@ -102,7 +102,7 @@ describe('modules/versioning/index', () => {
       return props;
     }
 
-    for (const supportedScheme of supportedSchemes) {
+    for (const supportedScheme of supportedSchemes ?? []) {
       it(supportedScheme, () => {
         const schemeKeys = getAllPropertyNames(
           allVersioning.get(supportedScheme)
diff --git a/lib/modules/versioning/poetry/index.spec.ts b/lib/modules/versioning/poetry/index.spec.ts
index bfd2af34d0..40b28beefa 100644
--- a/lib/modules/versioning/poetry/index.spec.ts
+++ b/lib/modules/versioning/poetry/index.spec.ts
@@ -145,7 +145,7 @@ describe('modules/versioning/poetry/index', () => {
   `(
     'isLessThanRange("$version", "$range") === "$expected"',
     ({ version, range, expected }) => {
-      expect(versioning.isLessThanRange(version, range)).toBe(expected);
+      expect(versioning.isLessThanRange?.(version, range)).toBe(expected);
     }
   );
 
diff --git a/lib/modules/versioning/regex/index.spec.ts b/lib/modules/versioning/regex/index.spec.ts
index b7e3f4b6fe..e8dd5e3dfa 100644
--- a/lib/modules/versioning/regex/index.spec.ts
+++ b/lib/modules/versioning/regex/index.spec.ts
@@ -237,7 +237,7 @@ describe('modules/versioning/regex/index', () => {
     `(
       'isLessThanRange($version, $range) === $expected',
       ({ version, range, expected }) => {
-        expect(regex.isLessThanRange(version, range)).toBe(expected);
+        expect(regex.isLessThanRange?.(version, range)).toBe(expected);
       }
     );
 
@@ -273,9 +273,9 @@ describe('modules/versioning/regex/index', () => {
       it('returns newVersion', () => {
         expect(
           regex.getNewValue({
-            currentValue: null,
-            rangeStrategy: null,
-            currentVersion: null,
+            currentValue: null as never,
+            rangeStrategy: null as never,
+            currentVersion: null as never,
             newVersion: '1.2.3',
           })
         ).toBe('1.2.3');
diff --git a/lib/modules/versioning/versioning-metadata.spec.ts b/lib/modules/versioning/versioning-metadata.spec.ts
index 01064e0538..ae5c1722df 100644
--- a/lib/modules/versioning/versioning-metadata.spec.ts
+++ b/lib/modules/versioning/versioning-metadata.spec.ts
@@ -6,7 +6,7 @@ describe('modules/versioning/versioning-metadata', () => {
       (item) => !item.includes('.')
     );
     for (const versioning of allVersioning) {
-      let readme: string;
+      let readme: string | undefined;
       try {
         readme = await readFile(
           'lib/modules/versioning/' + versioning + '/readme.md',
diff --git a/tsconfig.strict.json b/tsconfig.strict.json
index 2499723f6b..6d4dc16e5e 100644
--- a/tsconfig.strict.json
+++ b/tsconfig.strict.json
@@ -17,7 +17,6 @@
     "lib/workers/**/*.spec.ts",
     "lib/modules/datasource/**/*.spec.ts",
     "lib/modules/manager/**/*.spec.ts",
-    "lib/modules/versioning/**/*.spec.ts",
     "lib/renovate.ts",
     "lib/renovate.spec.ts",
     "lib/workers/global/autodiscover.ts",
-- 
GitLab