diff --git a/lib/workers/repository/process/lookup/index.js b/lib/workers/repository/process/lookup/index.js index f002ed0e1d33c12dfd427202d40c7ad3801ba207..c5bc16a6a6c6e26f9b182c08a64b3737a6d6ed98 100644 --- a/lib/workers/repository/process/lookup/index.js +++ b/lib/workers/repository/process/lookup/index.js @@ -136,7 +136,13 @@ async function lookupUpdates(config) { if (!(repositoryUrl && repositoryUrl.length)) { repositoryUrl = null; } + const filteredReleases = releases.filter( + release => + filteredVersions.includes(release.version) || + release.version === fromVersion + ); return { + releases: filteredReleases, repositoryUrl, updates, }; diff --git a/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap b/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap index 87e1a285857cd23589059982d3c77d69191e550c..ccc9b3bd231c117e29f5234a7c466ec55315ae11 100644 --- a/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap +++ b/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap @@ -228,6 +228,43 @@ Array [ ] `; +exports[`manager/npm/lookup .lookupUpdates() returns complex object 1`] = ` +Object { + "releases": Array [ + Object { + "canBeUnpublished": false, + "gitRef": "b26cace16f6070e756b6a546cf2693bece03f8f8", + "time": "2015-04-26T16:42:11.311Z", + "version": "1.3.0", + }, + Object { + "canBeUnpublished": false, + "gitRef": "05e20dc704421ca820553721c7178168a8461506", + "time": "2015-05-09T16:52:40.699Z", + "version": "1.4.0", + }, + Object { + "canBeUnpublished": false, + "gitRef": "d373079d3620152e3d60e82f27265a09ee0e81bd", + "time": "2015-05-17T04:25:07.299Z", + "version": "1.4.1", + }, + ], + "repositoryUrl": "https://github.com/kriskowal/q", + "updates": Array [ + Object { + "canBeUnpublished": false, + "fromVersion": "1.3.0", + "newMajor": 1, + "newMinor": 4, + "newValue": "1.4.1", + "toVersion": "1.4.1", + "type": "minor", + }, + ], +} +`; + exports[`manager/npm/lookup .lookupUpdates() returns minor update if automerging both patch and minor 1`] = ` Array [ Object { diff --git a/test/workers/repository/process/lookup/index.spec.js b/test/workers/repository/process/lookup/index.spec.js index c3c0c300dcd8dd0b40dc3e08f2b81067c98ef1a1..216a4e8a4c5d7ce6f68b80ea33ba89ff9d7052a2 100644 --- a/test/workers/repository/process/lookup/index.spec.js +++ b/test/workers/repository/process/lookup/index.spec.js @@ -846,5 +846,17 @@ describe('manager/npm/lookup', () => { const res = await lookup.lookupUpdates(config); expect(res.updates).toMatchSnapshot(); }); + it('returns complex object', async () => { + config.currentValue = '1.3.0'; + config.depName = 'q'; + config.purl = 'pkg:npm/q'; + nock('https://registry.npmjs.org') + .get('/q') + .reply(200, qJson); + const res = await lookup.lookupUpdates(config); + expect(res).toMatchSnapshot(); + expect(res.releases).toHaveLength(3); + expect(res.repositoryUrl).toBeDefined(); + }); }); });