From 4b7295ee22efeffc4126dbc8e0caf3fdd206f7c2 Mon Sep 17 00:00:00 2001
From: Sergei Zharinov <zharinov@users.noreply.github.com>
Date: Mon, 19 Apr 2021 16:57:06 +0400
Subject: [PATCH] fix(bitbucket): Return proper type for "createPr()" (#9623)

---
 .../bitbucket/__snapshots__/index.spec.ts.snap        |  2 ++
 lib/platform/bitbucket/index.ts                       |  8 ++------
 lib/platform/bitbucket/utils.ts                       | 11 ++++++-----
 3 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/lib/platform/bitbucket/__snapshots__/index.spec.ts.snap b/lib/platform/bitbucket/__snapshots__/index.spec.ts.snap
index 45b8e81ab4..c75dabd29e 100644
--- a/lib/platform/bitbucket/__snapshots__/index.spec.ts.snap
+++ b/lib/platform/bitbucket/__snapshots__/index.spec.ts.snap
@@ -382,6 +382,7 @@ exports[`platform/bitbucket/index findPr() finds pr 1`] = `
 Object {
   "body": "summary",
   "createdAt": "2018-07-02T07:02:25.275030+00:00",
+  "displayNumber": "Pull Request #5",
   "number": 5,
   "sourceBranch": "branch",
   "state": "open",
@@ -1158,6 +1159,7 @@ Array [
   Object {
     "body": undefined,
     "createdAt": undefined,
+    "displayNumber": "Pull Request #1",
     "number": 1,
     "sourceBranch": "branch-a",
     "state": "open",
diff --git a/lib/platform/bitbucket/index.ts b/lib/platform/bitbucket/index.ts
index 4862efafd4..114e8f106e 100644
--- a/lib/platform/bitbucket/index.ts
+++ b/lib/platform/bitbucket/index.ts
@@ -696,7 +696,7 @@ export async function createPr({
   };
 
   try {
-    const prInfo = (
+    const prRes = (
       await bitbucketHttp.postJson<PrResponse>(
         `/2.0/repositories/${config.repository}/pullrequests`,
         {
@@ -704,11 +704,7 @@ export async function createPr({
         }
       )
     ).body;
-    // TODO: fix types
-    const pr: Pr = {
-      number: prInfo.id,
-      displayNumber: `Pull Request #${prInfo.id}`,
-    } as any;
+    const pr = utils.prInfo(prRes);
     // istanbul ignore if
     if (config.prList) {
       config.prList.push(pr);
diff --git a/lib/platform/bitbucket/utils.ts b/lib/platform/bitbucket/utils.ts
index 9423466c8d..1f7c07f65d 100644
--- a/lib/platform/bitbucket/utils.ts
+++ b/lib/platform/bitbucket/utils.ts
@@ -172,13 +172,14 @@ export interface PrResponse {
 export function prInfo(pr: PrResponse): Pr {
   return {
     number: pr.id,
-    body: pr.summary ? pr.summary.raw : /* istanbul ignore next */ undefined,
-    sourceBranch: pr.source.branch.name,
-    targetBranch: pr.destination.branch.name,
+    displayNumber: `Pull Request #${pr.id}`,
+    body: pr.summary?.raw,
+    sourceBranch: pr.source?.branch?.name,
+    targetBranch: pr.destination?.branch?.name,
     title: pr.title,
-    state: prStates.closed.includes(pr.state)
+    state: prStates.closed?.includes(pr.state)
       ? /* istanbul ignore next */ PrState.Closed
-      : pr.state.toLowerCase(),
+      : pr.state?.toLowerCase(),
     createdAt: pr.created_on,
   };
 }
-- 
GitLab