From 5279064773acfe965104de3c4a691a56b56e992e Mon Sep 17 00:00:00 2001
From: RahulGautamSingh <rahultesnik@gmail.com>
Date: Tue, 21 Feb 2023 11:41:00 +0530
Subject: [PATCH] fix: allow null/undefined as param (#20528)

---
 .../update/pr/changelog/release-notes.spec.ts   | 17 +++++++++--------
 .../update/pr/changelog/release-notes.ts        |  7 +++----
 .../update/pr/changelog/source-github.ts        |  2 +-
 .../update/pr/changelog/source-gitlab.ts        |  2 +-
 4 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/lib/workers/repository/update/pr/changelog/release-notes.spec.ts b/lib/workers/repository/update/pr/changelog/release-notes.spec.ts
index 071f42ffe7..f1217f926f 100644
--- a/lib/workers/repository/update/pr/changelog/release-notes.spec.ts
+++ b/lib/workers/repository/update/pr/changelog/release-notes.spec.ts
@@ -87,20 +87,21 @@ describe('workers/repository/update/pr/changelog/release-notes', () => {
   });
 
   describe('addReleaseNotes()', () => {
+    it('returns null if input is null/undefined', async () => {
+      expect(await addReleaseNotes(null, {} as BranchUpgradeConfig)).toBeNull();
+      expect(
+        await addReleaseNotes(undefined, {} as BranchUpgradeConfig)
+      ).toBeNull();
+    });
+
     it('returns input if invalid', async () => {
       const input = { a: 1 };
       expect(
         await addReleaseNotes(input as never, {} as BranchUpgradeConfig)
       ).toEqual(input);
-      // TODO #7154
+      expect(await addReleaseNotes(null, {} as BranchUpgradeConfig)).toBeNull();
       expect(
-        await addReleaseNotes(null as never, {} as BranchUpgradeConfig)
-      ).toBeNull();
-      expect(
-        await addReleaseNotes(
-          { versions: [] } as never,
-          {} as BranchUpgradeConfig
-        )
+        await addReleaseNotes({ versions: [] }, {} as BranchUpgradeConfig)
       ).toStrictEqual({
         versions: [],
       });
diff --git a/lib/workers/repository/update/pr/changelog/release-notes.ts b/lib/workers/repository/update/pr/changelog/release-notes.ts
index 514a46623b..31446797c7 100644
--- a/lib/workers/repository/update/pr/changelog/release-notes.ts
+++ b/lib/workers/repository/update/pr/changelog/release-notes.ts
@@ -399,14 +399,13 @@ export function releaseNotesCacheMinutes(releaseDate?: string | Date): number {
   return 14495; // 5 minutes shy of 10 days
 }
 
-// TODO #7154 allow `null` and `undefined`
 export async function addReleaseNotes(
-  input: ChangeLogResult,
+  input: ChangeLogResult | null | undefined,
   config: BranchUpgradeConfig
-): Promise<ChangeLogResult> {
+): Promise<ChangeLogResult | null> {
   if (!input?.versions || !input.project?.type) {
     logger.debug('Missing project or versions');
-    return input;
+    return input ?? null;
   }
   const output: ChangeLogResult = { ...input, versions: [] };
   const { repository, sourceDirectory } = input.project;
diff --git a/lib/workers/repository/update/pr/changelog/source-github.ts b/lib/workers/repository/update/pr/changelog/source-github.ts
index e3302393f5..a3bcb33908 100644
--- a/lib/workers/repository/update/pr/changelog/source-github.ts
+++ b/lib/workers/repository/update/pr/changelog/source-github.ts
@@ -165,7 +165,7 @@ export async function getChangeLogJSON(
     }
   }
 
-  let res: ChangeLogResult = {
+  let res: ChangeLogResult | null = {
     project: {
       apiBaseUrl,
       baseUrl,
diff --git a/lib/workers/repository/update/pr/changelog/source-gitlab.ts b/lib/workers/repository/update/pr/changelog/source-gitlab.ts
index e55b681849..4fa2ebe0ad 100644
--- a/lib/workers/repository/update/pr/changelog/source-gitlab.ts
+++ b/lib/workers/repository/update/pr/changelog/source-gitlab.ts
@@ -137,7 +137,7 @@ export async function getChangeLogJSON(
     }
   }
 
-  let res: ChangeLogResult = {
+  let res: ChangeLogResult | null = {
     project: {
       apiBaseUrl,
       baseUrl,
-- 
GitLab