From f5b1c00d8fa69cf28efcd1fdab7fcb3d7108b648 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Sun, 28 Jan 2018 21:41:42 +0100
Subject: [PATCH] refactor: log old/new pr details if updating

---
 lib/workers/pr/index.js                       | 19 ++++++++++++++
 .../pr/__snapshots__/index.spec.js.snap       | 26 +++++++++++++++++++
 test/workers/pr/index.spec.js                 |  9 +++++++
 3 files changed, 54 insertions(+)

diff --git a/lib/workers/pr/index.js b/lib/workers/pr/index.js
index 6be25df16d..bf279d68c0 100644
--- a/lib/workers/pr/index.js
+++ b/lib/workers/pr/index.js
@@ -170,6 +170,25 @@ async function ensurePr(prConfig) {
         return existingPr;
       }
       // PR must need updating
+      if (existingPr.title !== prTitle) {
+        logger.debug(
+          {
+            oldPrTitle: existingPr.title,
+            newPrTitle: prTitle,
+          },
+          'PR title changed'
+        );
+      } else {
+        logger.debug(
+          {
+            prTitle,
+            oldPrBody: existingPr.body,
+            newPrBody: prBody,
+          },
+          'PR body changed'
+        );
+      }
+
       await platform.updatePr(existingPr.number, prTitle, prBody);
       logger.info({ pr: existingPr.displayNumber }, `Updated PR`);
       return existingPr;
diff --git a/test/workers/pr/__snapshots__/index.spec.js.snap b/test/workers/pr/__snapshots__/index.spec.js.snap
index 9695c5f136..0cb5828da5 100644
--- a/test/workers/pr/__snapshots__/index.spec.js.snap
+++ b/test/workers/pr/__snapshots__/index.spec.js.snap
@@ -102,6 +102,32 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).",
 }
 `;
 
+exports[`workers/pr ensurePr should return modified existing PR title 1`] = `
+Object {
+  "body": "This Pull Request updates dependency [dummy](https://github.com/renovateapp/dummy) from \`v1.0.0\` to \`v1.1.0\`
+
+
+
+### Commits
+
+<details>
+<summary>renovateapp/dummy</summary>
+
+#### 1.1.0
+-   [\`abcdefg\`](https://github.com/renovateapp/dummy/commit/abcdefghijklmnopqrstuvwxyz) foo [#3](https://github.com/renovateapp/dummy/issues/3)
+
+</details>
+
+
+
+---
+
+This PR has been generated by [Renovate Bot](https://renovateapp.com).",
+  "displayNumber": "Existing PR",
+  "title": "wrong",
+}
+`;
+
 exports[`workers/pr ensurePr should return unmodified existing PR 1`] = `Array []`;
 
 exports[`workers/pr ensurePr should strip HTML PR for vsts 1`] = `
diff --git a/test/workers/pr/index.spec.js b/test/workers/pr/index.spec.js
index 231a56e37c..583d246c0e 100644
--- a/test/workers/pr/index.spec.js
+++ b/test/workers/pr/index.spec.js
@@ -272,6 +272,15 @@ describe('workers/pr', () => {
       const pr = await prWorker.ensurePr(config);
       expect(pr).toMatchSnapshot();
     });
+    it('should return modified existing PR title', async () => {
+      config.newVersion = '1.2.0';
+      platform.getBranchPr.mockReturnValueOnce({
+        ...existingPr,
+        title: 'wrong',
+      });
+      const pr = await prWorker.ensurePr(config);
+      expect(pr).toMatchSnapshot();
+    });
     it('should create PR if branch tests failed', async () => {
       config.automerge = true;
       config.automergeType = 'branch-push';
-- 
GitLab