From 8ebb32cd87865ad9b74ba4ce4fd605cddc7152c2 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@keylocation.sg>
Date: Sun, 27 Aug 2017 13:55:41 +0200
Subject: [PATCH] feat: display extended error in onboarding if lookup fails
 (#744)

Closes #626
---
 lib/workers/branch/index.js                           | 5 ++++-
 lib/workers/package/index.js                          | 4 ++++
 lib/workers/pr/index.js                               | 1 -
 test/workers/branch/index.spec.js                     | 2 ++
 test/workers/package/__snapshots__/index.spec.js.snap | 3 ++-
 test/workers/package/index.spec.js                    | 1 +
 6 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/lib/workers/branch/index.js b/lib/workers/branch/index.js
index 7b5aa4b92d..b65b85e198 100644
--- a/lib/workers/branch/index.js
+++ b/lib/workers/branch/index.js
@@ -91,7 +91,10 @@ async function processBranch(branchConfig) {
   }
   try {
     logger.debug('Ensuring PR');
-    logger.trace({ config }, 'test');
+    logger.debug(
+      `There are ${config.errors.length} errors and ${config.warnings
+        .length} warnings`
+    );
     const pr = await prWorker.ensurePr(config);
     // TODO: ensurePr should check for automerge itself
     if (pr) {
diff --git a/lib/workers/package/index.js b/lib/workers/package/index.js
index e40a5f8c0e..a3101ba19f 100644
--- a/lib/workers/package/index.js
+++ b/lib/workers/package/index.js
@@ -43,6 +43,10 @@ async function renovatePackage(config) {
       type: 'error',
       message: 'Failed to look up dependency',
     };
+    if (config.hasYarnLock || config.hasPackageLock) {
+      result.message +=
+        '. This will block *all* dependencies from being updated due to presence of lock file.';
+    }
     results = [result];
     if (config.depName[0] === '@') {
       logger.info(result.message);
diff --git a/lib/workers/pr/index.js b/lib/workers/pr/index.js
index d3b704bf4d..0526dd03f2 100644
--- a/lib/workers/pr/index.js
+++ b/lib/workers/pr/index.js
@@ -14,7 +14,6 @@ module.exports = {
 async function ensurePr(prConfig) {
   const config = { ...prConfig };
   const { logger } = config;
-  logger.debug('ensuring PR');
   logger.trace({ config }, 'ensurePr');
   // If there is a group, it will use the config of the first upgrade in the array
   const upgrades = config.upgrades;
diff --git a/test/workers/branch/index.spec.js b/test/workers/branch/index.spec.js
index e35ae00044..40d9f70f84 100644
--- a/test/workers/branch/index.spec.js
+++ b/test/workers/branch/index.spec.js
@@ -30,6 +30,8 @@ describe('workers/branch', () => {
       config = {
         ...defaultConfig,
         api: { branchExists: jest.fn() },
+        errors: [],
+        warnings: [],
         logger,
         upgrades: [{}],
       };
diff --git a/test/workers/package/__snapshots__/index.spec.js.snap b/test/workers/package/__snapshots__/index.spec.js.snap
index fcd381fbb5..86a756298c 100644
--- a/test/workers/package/__snapshots__/index.spec.js.snap
+++ b/test/workers/package/__snapshots__/index.spec.js.snap
@@ -147,9 +147,10 @@ This {{#if isGitHub}}PR{{else}}MR{{/if}} has been generated by [Renovate Bot](ht
     },
     "groupName": null,
     "groupSlug": null,
+    "hasYarnLock": true,
     "labels": Array [],
     "lazyGrouping": true,
-    "message": "Failed to look up dependency",
+    "message": "Failed to look up dependency. This will block *all* dependencies from being updated due to presence of lock file.",
     "packageFiles": Array [],
     "prBody": "This {{#if isGitHub}}Pull{{else}}Merge{{/if}} Request {{#if isRollback}}rolls back{{else}}updates{{/if}} dependency {{#if repositoryUrl}}[{{depName}}]({{repositoryUrl}}){{else}}\`{{depName}}\`{{/if}} from \`v{{currentVersion}}\` to \`v{{newVersion}}\`{{#if isRollback}}. This is necessary and important because \`v{{currentVersion}}\` cannot be found in the npm registry - probably because of it being unpublished.{{/if}}
 {{#if releases.length}}
diff --git a/test/workers/package/index.spec.js b/test/workers/package/index.spec.js
index 7daeee486e..a6e6bdcbdd 100644
--- a/test/workers/package/index.spec.js
+++ b/test/workers/package/index.spec.js
@@ -29,6 +29,7 @@ describe('lib/workers/package/index', () => {
     it('returns error if no npm dep found', async () => {
       config.repoIsOnboarded = true;
       config.schedule = 'some schedule';
+      config.hasYarnLock = true;
       const res = await pkgWorker.renovatePackage(config);
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(1);
-- 
GitLab