From 3d84c22cf09a2938534f0b6d0a8a7f1d1244e56b Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@keylocation.sg> Date: Mon, 16 Oct 2017 21:57:48 +0200 Subject: [PATCH] feat: skip regenerating lock file maintenance if branch exists (#956) --- lib/workers/branch/lock-files.js | 6 ++++++ .../branch/__snapshots__/lock-files.spec.js.snap | 7 +++++++ test/workers/branch/lock-files.spec.js | 13 ++++++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/lib/workers/branch/lock-files.js b/lib/workers/branch/lock-files.js index 17c37b7f74..f57e7b6d3e 100644 --- a/lib/workers/branch/lock-files.js +++ b/lib/workers/branch/lock-files.js @@ -197,6 +197,12 @@ async function getUpdatedLockFiles(config) { let lockFileError = false; const updatedLockFiles = []; try { + if ( + config.type === 'lockFileMaintenance' && + (await config.api.branchExists(config.branchName)) + ) { + return { lockFileError, updatedLockFiles }; + } const dirs = module.exports.determineLockFileDirs(config); logger.debug({ dirs }, 'lock file dirs'); await module.exports.writeExistingFiles(config); diff --git a/test/workers/branch/__snapshots__/lock-files.spec.js.snap b/test/workers/branch/__snapshots__/lock-files.spec.js.snap index 5a2a198df2..bfe66104c9 100644 --- a/test/workers/branch/__snapshots__/lock-files.spec.js.snap +++ b/test/workers/branch/__snapshots__/lock-files.spec.js.snap @@ -47,6 +47,13 @@ Object { } `; +exports[`workers/branch/lock-files getUpdatedLockFiles returns no error and empty lockfiles if lock file maintenance exists 1`] = ` +Object { + "lockFileError": false, + "updatedLockFiles": Array [], +} +`; + exports[`workers/branch/lock-files getUpdatedLockFiles returns no error and empty lockfiles if none updated 1`] = ` Object { "lockFileError": false, diff --git a/test/workers/branch/lock-files.spec.js b/test/workers/branch/lock-files.spec.js index 8997f55462..333077a476 100644 --- a/test/workers/branch/lock-files.spec.js +++ b/test/workers/branch/lock-files.spec.js @@ -276,7 +276,10 @@ describe('workers/branch/lock-files', () => { beforeEach(() => { config = { ...defaultConfig, - api: { getFileContent: jest.fn(() => 'some lock file contents') }, + api: { + branchExists: jest.fn(), + getFileContent: jest.fn(() => 'some lock file contents'), + }, logger, tmpDir: { name: 'some-tmp-dir' }, }; @@ -286,6 +289,14 @@ describe('workers/branch/lock-files', () => { yarn.generateLockFile.mockReturnValue('some lock file contents'); lockFiles.determineLockFileDirs = jest.fn(); }); + it('returns no error and empty lockfiles if lock file maintenance exists', async () => { + config.type = 'lockFileMaintenance'; + config.api.branchExists.mockReturnValueOnce(true); + const res = await getUpdatedLockFiles(config); + expect(res).toMatchSnapshot(); + expect(res.lockFileError).toBe(false); + expect(res.updatedLockFiles).toHaveLength(0); + }); it('returns no error and empty lockfiles if none updated', async () => { lockFiles.determineLockFileDirs.mockReturnValueOnce({ packageLockFileDirs: [], -- GitLab