diff --git a/lib/manager/npm/extract/__snapshots__/locked-versions.spec.ts.snap b/lib/manager/npm/extract/__snapshots__/locked-versions.spec.ts.snap deleted file mode 100644 index 806ea94f7a133c..00000000000000 --- a/lib/manager/npm/extract/__snapshots__/locked-versions.spec.ts.snap +++ /dev/null @@ -1,258 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`manager/npm/extract/locked-versions .getLockedVersions() appends <7 to npm constraints 1`] = ` -Array [ - Object { - "constraints": Object { - "npm": ">=6.0.0 <7", - }, - "deps": Array [ - Object { - "currentValue": "1.0.0", - "depName": "a", - "lockedVersion": "1.0.0", - }, - Object { - "currentValue": "2.0.0", - "depName": "b", - "lockedVersion": "2.0.0", - }, - ], - "lockFiles": Array [ - "package-lock.json", - ], - "npmLock": "package-lock.json", - }, -] -`; - -exports[`manager/npm/extract/locked-versions .getLockedVersions() ignores pnpm 1`] = ` -Array [ - Object { - "deps": Array [ - Object { - "currentValue": "1.0.0", - "depName": "a", - }, - Object { - "currentValue": "2.0.0", - "depName": "b", - }, - ], - "lockFiles": Array [ - "pnpm-lock.yaml", - ], - "pnpmShrinkwrap": "pnpm-lock.yaml", - }, -] -`; - -exports[`manager/npm/extract/locked-versions .getLockedVersions() uses package-lock.json with npm v6.0.0 1`] = ` -Array [ - Object { - "constraints": Object { - "npm": "<7", - }, - "deps": Array [ - Object { - "currentValue": "1.0.0", - "depName": "a", - "lockedVersion": "1.0.0", - }, - Object { - "currentValue": "2.0.0", - "depName": "b", - "lockedVersion": "2.0.0", - }, - ], - "lockFiles": Array [ - "package-lock.json", - ], - "npmLock": "package-lock.json", - }, -] -`; - -exports[`manager/npm/extract/locked-versions .getLockedVersions() uses package-lock.json with npm v7.0.0 1`] = ` -Array [ - Object { - "constraints": Object {}, - "deps": Array [ - Object { - "currentValue": "1.0.0", - "depName": "a", - "lockedVersion": "1.0.0", - }, - Object { - "currentValue": "2.0.0", - "depName": "b", - "lockedVersion": "2.0.0", - }, - ], - "lockFiles": Array [ - "package-lock.json", - ], - "npmLock": "package-lock.json", - }, -] -`; - -exports[`manager/npm/extract/locked-versions .getLockedVersions() uses yarn.lock with yarn v1.22.0 1`] = ` -Array [ - Object { - "constraints": Object {}, - "deps": Array [ - Object { - "currentValue": "1.0.0", - "depName": "a", - "lockedVersion": "1.0.0", - }, - Object { - "currentValue": "2.0.0", - "depName": "b", - "lockedVersion": "2.0.0", - }, - Object { - "currentValue": "^1.22.0", - "depName": "yarn", - "depType": "engines", - "lockedVersion": undefined, - }, - Object { - "currentValue": "1.22.0", - "depName": "yarn", - "depType": "packageManager", - "lockedVersion": undefined, - }, - ], - "lockFiles": Array [ - "yarn.lock", - ], - "npmLock": "package-lock.json", - "yarnLock": "yarn.lock", - }, -] -`; - -exports[`manager/npm/extract/locked-versions .getLockedVersions() uses yarn.lock with yarn v2.1.0 1`] = ` -Array [ - Object { - "constraints": Object { - "yarn": "^2.0.0", - }, - "deps": Array [ - Object { - "currentValue": "1.0.0", - "depName": "a", - "lockedVersion": "1.0.0", - }, - Object { - "currentValue": "2.0.0", - "depName": "b", - "lockedVersion": "2.0.0", - }, - Object { - "currentValue": "^2.1.0", - "depName": "yarn", - "depType": "engines", - "lockedVersion": undefined, - "lookupName": "@yarnpkg/cli", - }, - Object { - "currentValue": "2.1.0", - "depName": "yarn", - "depType": "packageManager", - "lockedVersion": undefined, - "lookupName": "@yarnpkg/cli", - }, - ], - "lockFiles": Array [ - "yarn.lock", - ], - "npmLock": "package-lock.json", - "yarnLock": "yarn.lock", - }, -] -`; - -exports[`manager/npm/extract/locked-versions .getLockedVersions() uses yarn.lock with yarn v2.2.0 1`] = ` -Array [ - Object { - "constraints": Object { - "yarn": "^2.2.0", - }, - "deps": Array [ - Object { - "currentValue": "1.0.0", - "depName": "a", - "lockedVersion": "1.0.0", - }, - Object { - "currentValue": "2.0.0", - "depName": "b", - "lockedVersion": "2.0.0", - }, - Object { - "currentValue": "^2.2.0", - "depName": "yarn", - "depType": "engines", - "lockedVersion": undefined, - "lookupName": "@yarnpkg/cli", - }, - Object { - "currentValue": "2.2.0", - "depName": "yarn", - "depType": "packageManager", - "lockedVersion": undefined, - "lookupName": "@yarnpkg/cli", - }, - ], - "lockFiles": Array [ - "yarn.lock", - ], - "npmLock": "package-lock.json", - "yarnLock": "yarn.lock", - }, -] -`; - -exports[`manager/npm/extract/locked-versions .getLockedVersions() uses yarn.lock with yarn v3.0.0 1`] = ` -Array [ - Object { - "constraints": Object { - "yarn": "^3.0.0", - }, - "deps": Array [ - Object { - "currentValue": "1.0.0", - "depName": "a", - "lockedVersion": "1.0.0", - }, - Object { - "currentValue": "2.0.0", - "depName": "b", - "lockedVersion": "2.0.0", - }, - Object { - "currentValue": "^3.0.0", - "depName": "yarn", - "depType": "engines", - "lockedVersion": undefined, - "lookupName": "@yarnpkg/cli", - }, - Object { - "currentValue": "3.0.0", - "depName": "yarn", - "depType": "packageManager", - "lockedVersion": undefined, - "lookupName": "@yarnpkg/cli", - }, - ], - "lockFiles": Array [ - "yarn.lock", - ], - "npmLock": "package-lock.json", - "yarnLock": "yarn.lock", - }, -] -`; diff --git a/lib/manager/npm/extract/locked-versions.spec.ts b/lib/manager/npm/extract/locked-versions.spec.ts index c2eda905fce51f..e3cd3d7395d7a3 100644 --- a/lib/manager/npm/extract/locked-versions.spec.ts +++ b/lib/manager/npm/extract/locked-versions.spec.ts @@ -1,3 +1,4 @@ +import type { PackageFile } from '../../types'; import { getLockedVersions } from './locked-versions'; /** @type any */ @@ -10,85 +11,260 @@ jest.mock('./yarn'); describe('manager/npm/extract/locked-versions', () => { describe('.getLockedVersions()', () => { - it.each([ - ['1.22.0', undefined], - ['2.1.0', undefined], - ['2.2.0', 6], - ['3.0.0', 8], - ])('uses yarn.lock with yarn v%s', async (yarnVersion, lockfileVersion) => { + function getPackageFiles(yarnVersion: string): PackageFile[] { + return [ + { + npmLock: 'package-lock.json', + yarnLock: 'yarn.lock', + constraints: {}, + deps: [ + { depName: 'a', currentValue: '1.0.0' }, + { depName: 'b', currentValue: '2.0.0' }, + { + depType: 'engines', + depName: 'yarn', + currentValue: `^${yarnVersion}`, + }, + { + depType: 'packageManager', + depName: 'yarn', + currentValue: `${yarnVersion}`, + }, + ], + }, + ]; + } + + const lockedVersions = { + 'a@1.0.0': '1.0.0', + 'b@2.0.0': '2.0.0', + 'c@2.0.0': '3.0.0', + }; + + it('uses yarn.lock with yarn v1.22.0', async () => { + const yarnVersion = '1.22.0'; + const lockfileVersion = undefined; + const isYarn1 = true; yarn.getYarnLock.mockReturnValue({ - isYarn1: yarnVersion === '1.22.0', + isYarn1, lockfileVersion, - lockedVersions: { - 'a@1.0.0': '1.0.0', - 'b@2.0.0': '2.0.0', - 'c@2.0.0': '3.0.0', - }, + lockedVersions, }); - const packageFiles = [ + const packageFiles = getPackageFiles(yarnVersion); + await getLockedVersions(packageFiles); + expect(packageFiles).toEqual([ { + constraints: {}, + deps: [ + { currentValue: '1.0.0', depName: 'a', lockedVersion: '1.0.0' }, + { currentValue: '2.0.0', depName: 'b', lockedVersion: '2.0.0' }, + { + currentValue: '^1.22.0', + depName: 'yarn', + depType: 'engines', + lockedVersion: undefined, + }, + { + currentValue: '1.22.0', + depName: 'yarn', + depType: 'packageManager', + lockedVersion: undefined, + }, + ], + lockFiles: ['yarn.lock'], npmLock: 'package-lock.json', yarnLock: 'yarn.lock', - constraints: {}, + }, + ]); + }); + it('uses yarn.lock with yarn v2.1.0', async () => { + const yarnVersion = '2.1.0'; + const lockfileVersion = undefined; + const isYarn1 = false; + yarn.getYarnLock.mockReturnValue({ + isYarn1, + lockfileVersion, + lockedVersions, + }); + const packageFiles = getPackageFiles(yarnVersion); + await getLockedVersions(packageFiles); + expect(packageFiles).toEqual([ + { + constraints: { yarn: '^2.0.0' }, deps: [ { - depName: 'a', currentValue: '1.0.0', + depName: 'a', + lockedVersion: '1.0.0', }, { - depName: 'b', currentValue: '2.0.0', + depName: 'b', + lockedVersion: '2.0.0', }, { + currentValue: '^2.1.0', + depName: 'yarn', depType: 'engines', + lockedVersion: undefined, + lookupName: '@yarnpkg/cli', + }, + { + currentValue: '2.1.0', depName: 'yarn', - currentValue: `^${yarnVersion}`, + depType: 'packageManager', + lockedVersion: undefined, + lookupName: '@yarnpkg/cli', + }, + ], + lockFiles: ['yarn.lock'], + npmLock: 'package-lock.json', + yarnLock: 'yarn.lock', + }, + ]); + }); + it('uses yarn.lock with yarn v2.2.0', async () => { + const yarnVersion = '2.2.0'; + const lockfileVersion = 6; + const isYarn1 = false; + yarn.getYarnLock.mockReturnValue({ + isYarn1, + lockfileVersion, + lockedVersions, + }); + const packageFiles = getPackageFiles(yarnVersion); + await getLockedVersions(packageFiles); + expect(packageFiles).toEqual([ + { + constraints: { yarn: '^2.2.0' }, + deps: [ + { + currentValue: '1.0.0', + depName: 'a', + lockedVersion: '1.0.0', }, { + currentValue: '2.0.0', + depName: 'b', + lockedVersion: '2.0.0', + }, + { + currentValue: '^2.2.0', + depName: 'yarn', + depType: 'engines', + lockedVersion: undefined, + lookupName: '@yarnpkg/cli', + }, + { + currentValue: '2.2.0', + depName: 'yarn', depType: 'packageManager', + lockedVersion: undefined, + lookupName: '@yarnpkg/cli', + }, + ], + lockFiles: ['yarn.lock'], + npmLock: 'package-lock.json', + yarnLock: 'yarn.lock', + }, + ]); + }); + it('uses yarn.lock with yarn v3.0.0', async () => { + const yarnVersion = '3.0.0'; + const lockfileVersion = 8; + const isYarn1 = false; + yarn.getYarnLock.mockReturnValue({ + isYarn1, + lockfileVersion, + lockedVersions, + }); + const packageFiles = getPackageFiles(yarnVersion); + await getLockedVersions(packageFiles); + expect(packageFiles).toEqual([ + { + constraints: { yarn: '^3.0.0' }, + deps: [ + { currentValue: '1.0.0', depName: 'a', lockedVersion: '1.0.0' }, + { currentValue: '2.0.0', depName: 'b', lockedVersion: '2.0.0' }, + { + currentValue: '^3.0.0', depName: 'yarn', - currentValue: `${yarnVersion}`, + depType: 'engines', + lockedVersion: undefined, + lookupName: '@yarnpkg/cli', + }, + { + currentValue: '3.0.0', + depName: 'yarn', + depType: 'packageManager', + lockedVersion: undefined, + lookupName: '@yarnpkg/cli', }, ], + lockFiles: ['yarn.lock'], + npmLock: 'package-lock.json', + yarnLock: 'yarn.lock', + }, + ]); + }); + + it('uses package-lock.json with npm v6.0.0', async () => { + npm.getNpmLock.mockReturnValue({ + lockedVersions: { a: '1.0.0', b: '2.0.0', c: '3.0.0' }, + lockfileVersion: 1, + }); + const packageFiles = [ + { + npmLock: 'package-lock.json', + constraints: {}, + deps: [ + { depName: 'a', currentValue: '1.0.0' }, + { depName: 'b', currentValue: '2.0.0' }, + ], + }, + ]; + await getLockedVersions(packageFiles); + expect(packageFiles).toEqual([ + { + constraints: { npm: '<7' }, + deps: [ + { currentValue: '1.0.0', depName: 'a', lockedVersion: '1.0.0' }, + { currentValue: '2.0.0', depName: 'b', lockedVersion: '2.0.0' }, + ], + lockFiles: ['package-lock.json'], + npmLock: 'package-lock.json', + }, + ]); + }); + it('uses package-lock.json with npm v7.0.0', async () => { + npm.getNpmLock.mockReturnValue({ + lockedVersions: { a: '1.0.0', b: '2.0.0', c: '3.0.0' }, + lockfileVersion: 2, + }); + const packageFiles = [ + { + npmLock: 'package-lock.json', + constraints: {}, + deps: [ + { depName: 'a', currentValue: '1.0.0' }, + { depName: 'b', currentValue: '2.0.0' }, + ], }, ]; await getLockedVersions(packageFiles); - // FIXME: explicit assert condition - expect(packageFiles).toMatchSnapshot(); + expect(packageFiles).toEqual([ + { + constraints: {}, + deps: [ + { currentValue: '1.0.0', depName: 'a', lockedVersion: '1.0.0' }, + { currentValue: '2.0.0', depName: 'b', lockedVersion: '2.0.0' }, + ], + lockFiles: ['package-lock.json'], + npmLock: 'package-lock.json', + }, + ]); }); - it.each([['6.0.0'], ['7.0.0']])( - 'uses package-lock.json with npm v%s', - async (npmVersion) => { - npm.getNpmLock.mockReturnValue({ - lockedVersions: { - a: '1.0.0', - b: '2.0.0', - c: '3.0.0', - }, - lockfileVersion: npmVersion === '7.0.0' ? 2 : 1, - }); - const packageFiles = [ - { - npmLock: 'package-lock.json', - constraints: {}, - deps: [ - { - depName: 'a', - currentValue: '1.0.0', - }, - { - depName: 'b', - currentValue: '2.0.0', - }, - ], - }, - ]; - await getLockedVersions(packageFiles); - // FIXME: explicit assert condition - expect(packageFiles).toMatchSnapshot(); - } - ); it('appends <7 to npm constraints', async () => { npm.getNpmLock.mockReturnValue({ lockedVersions: { @@ -117,28 +293,39 @@ describe('manager/npm/extract/locked-versions', () => { }, ]; await getLockedVersions(packageFiles); - // FIXME: explicit assert condition - expect(packageFiles).toMatchSnapshot(); + expect(packageFiles).toEqual([ + { + constraints: { npm: '>=6.0.0 <7' }, + deps: [ + { currentValue: '1.0.0', depName: 'a', lockedVersion: '1.0.0' }, + { currentValue: '2.0.0', depName: 'b', lockedVersion: '2.0.0' }, + ], + lockFiles: ['package-lock.json'], + npmLock: 'package-lock.json', + }, + ]); }); it('ignores pnpm', async () => { const packageFiles = [ { pnpmShrinkwrap: 'pnpm-lock.yaml', deps: [ - { - depName: 'a', - currentValue: '1.0.0', - }, - { - depName: 'b', - currentValue: '2.0.0', - }, + { depName: 'a', currentValue: '1.0.0' }, + { depName: 'b', currentValue: '2.0.0' }, ], }, ]; await getLockedVersions(packageFiles); - // FIXME: explicit assert condition - expect(packageFiles).toMatchSnapshot(); + expect(packageFiles).toEqual([ + { + deps: [ + { currentValue: '1.0.0', depName: 'a' }, + { currentValue: '2.0.0', depName: 'b' }, + ], + lockFiles: ['pnpm-lock.yaml'], + pnpmShrinkwrap: 'pnpm-lock.yaml', + }, + ]); }); }); }); diff --git a/lib/manager/npm/extract/monorepo.spec.ts b/lib/manager/npm/extract/monorepo.spec.ts index 128563c7310337..66549b97a57dfc 100644 --- a/lib/manager/npm/extract/monorepo.spec.ts +++ b/lib/manager/npm/extract/monorepo.spec.ts @@ -155,8 +155,11 @@ describe('manager/npm/extract/monorepo', () => { }, ]; await detectMonorepos(packageFiles, false); - // FIXME: explicit assert condition - expect(packageFiles).toMatchSnapshot(); + expect(packageFiles).toMatchSnapshot([ + {}, + { npmrc: '@org:registry=//registry.some.org\n' }, + {}, + ]); }); it('uses yarnZeroInstall and skipInstalls from yarn workspaces package settings', async () => { @@ -182,8 +185,11 @@ describe('manager/npm/extract/monorepo', () => { }, ]; await detectMonorepos(packageFiles, false); - // FIXME: explicit assert condition - expect(packageFiles).toMatchSnapshot(); + expect(packageFiles).toMatchSnapshot([ + {}, + { managerData: { yarnZeroInstall: true }, skipInstalls: false }, + { managerData: { yarnZeroInstall: true }, skipInstalls: false }, + ]); }); }); }); diff --git a/lib/manager/npm/post-update/__snapshots__/rules.spec.ts.snap b/lib/manager/npm/post-update/__snapshots__/rules.spec.ts.snap deleted file mode 100644 index 065fd87810c1f4..00000000000000 --- a/lib/manager/npm/post-update/__snapshots__/rules.spec.ts.snap +++ /dev/null @@ -1,41 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`manager/npm/post-update/rules processHostRules() returns mixed rules content 1`] = ` -Object { - "additionalNpmrcContent": Array [ - "//registry.npmjs.org:_authToken=token123", - "//registry.other.org:_auth=basictoken123", - "//registry.company.com/:username=user123", - "//registry.company.com/:_password=cGFzczEyMw==", - ], - "additionalYarnRcYml": Object { - "npmRegistries": Object { - "//registry.company.com/": Object { - "npmAuthIdent": "user123:pass123", - }, - "//registry.npmjs.org": Object { - "npmAuthToken": "token123", - }, - "//registry.other.org": Object { - "npmAuthIdent": "basictoken123", - }, - }, - }, -} -`; - -exports[`manager/npm/post-update/rules processHostRules() returns rules content 1`] = ` -Object { - "additionalNpmrcContent": Array [ - "//registry.company.com/:username=user123", - "//registry.company.com/:_password=cGFzczEyMw==", - ], - "additionalYarnRcYml": Object { - "npmRegistries": Object { - "//registry.company.com/": Object { - "npmAuthIdent": "user123:pass123", - }, - }, - }, -} -`; diff --git a/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap b/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap index 20435ee2678d2f..20ea08bdc60134 100644 --- a/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap +++ b/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap @@ -24,20 +24,6 @@ Array [ ] `; -exports[`manager/npm/post-update/yarn checkYarnrc() returns no offline mirror and unquoted yarn path 1`] = ` -Object { - "offlineMirror": false, - "yarnPath": "./.yarn/cli.js", -} -`; - -exports[`manager/npm/post-update/yarn checkYarnrc() returns offline mirror and yarn path 1`] = ` -Object { - "offlineMirror": true, - "yarnPath": "./.yarn/cli.js", -} -`; - exports[`manager/npm/post-update/yarn does not use global cache if zero install is detected 1`] = ` Array [ Object { diff --git a/lib/manager/npm/post-update/rules.spec.ts b/lib/manager/npm/post-update/rules.spec.ts index 87ca5eefde3f3f..b221bc09b3fad7 100644 --- a/lib/manager/npm/post-update/rules.spec.ts +++ b/lib/manager/npm/post-update/rules.spec.ts @@ -25,8 +25,37 @@ describe('manager/npm/post-update/rules', () => { password: 'pass123', }); const res = processHostRules(); - // FIXME: explicit assert condition - expect(res).toMatchSnapshot(); + expect(res).toMatchInlineSnapshot( + { + additionalNpmrcContent: [ + '//registry.company.com/:username=user123', + '//registry.company.com/:_password=cGFzczEyMw==', + ], + + additionalYarnRcYml: { + npmRegistries: { + '//registry.company.com/': { + npmAuthIdent: 'user123:pass123', + }, + }, + }, + }, + ` + Object { + "additionalNpmrcContent": Array [ + "//registry.company.com/:username=user123", + "//registry.company.com/:_password=cGFzczEyMw==", + ], + "additionalYarnRcYml": Object { + "npmRegistries": Object { + "//registry.company.com/": Object { + "npmAuthIdent": "user123:pass123", + }, + }, + }, + } + ` + ); }); it('returns mixed rules content', () => { hostRules.add({ @@ -47,8 +76,55 @@ describe('manager/npm/post-update/rules', () => { password: 'pass123', }); const res = processHostRules(); - // FIXME: explicit assert condition - expect(res).toMatchSnapshot(); + expect(res).toMatchInlineSnapshot( + { + additionalNpmrcContent: [ + '//registry.npmjs.org:_authToken=token123', + '//registry.other.org:_auth=basictoken123', + '//registry.company.com/:username=user123', + '//registry.company.com/:_password=cGFzczEyMw==', + ], + + additionalYarnRcYml: { + npmRegistries: { + '//registry.company.com/': { + npmAuthIdent: 'user123:pass123', + }, + + '//registry.npmjs.org': { + npmAuthToken: 'token123', + }, + + '//registry.other.org': { + npmAuthIdent: 'basictoken123', + }, + }, + }, + }, + ` + Object { + "additionalNpmrcContent": Array [ + "//registry.npmjs.org:_authToken=token123", + "//registry.other.org:_auth=basictoken123", + "//registry.company.com/:username=user123", + "//registry.company.com/:_password=cGFzczEyMw==", + ], + "additionalYarnRcYml": Object { + "npmRegistries": Object { + "//registry.company.com/": Object { + "npmAuthIdent": "user123:pass123", + }, + "//registry.npmjs.org": Object { + "npmAuthToken": "token123", + }, + "//registry.other.org": Object { + "npmAuthIdent": "basictoken123", + }, + }, + }, + } + ` + ); }); }); }); diff --git a/lib/manager/npm/post-update/yarn.spec.ts b/lib/manager/npm/post-update/yarn.spec.ts index 8c7534524da7bb..ae1f77d2814101 100644 --- a/lib/manager/npm/post-update/yarn.spec.ts +++ b/lib/manager/npm/post-update/yarn.spec.ts @@ -274,8 +274,10 @@ describe('manager/npm/post-update/yarn', () => { } return new Promise((resolve) => resolve('')); }); - // FIXME: explicit assert condition - expect(await _yarnHelper.checkYarnrc('/tmp/renovate')).toMatchSnapshot(); + expect(await _yarnHelper.checkYarnrc('/tmp/renovate')).toEqual({ + offlineMirror: true, + yarnPath: './.yarn/cli.js', + }); }); it('returns no offline mirror and unquoted yarn path', async () => { @@ -293,8 +295,10 @@ describe('manager/npm/post-update/yarn', () => { } return new Promise((resolve) => resolve('')); }); - // FIXME: explicit assert condition - expect(await _yarnHelper.checkYarnrc('/tmp/renovate')).toMatchSnapshot(); + expect(await _yarnHelper.checkYarnrc('/tmp/renovate')).toEqual({ + offlineMirror: false, + yarnPath: './.yarn/cli.js', + }); }); it('returns offline mirror and no yarn path for non-existant yarn-path binary', async () => { diff --git a/lib/manager/npm/update/dependency/__snapshots__/index.spec.ts.snap b/lib/manager/npm/update/dependency/__snapshots__/index.spec.ts.snap index 4ac0a1077291fe..b43fadbf359623 100644 --- a/lib/manager/npm/update/dependency/__snapshots__/index.spec.ts.snap +++ b/lib/manager/npm/update/dependency/__snapshots__/index.spec.ts.snap @@ -1,9 +1,3 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`manager/npm/update/dependency/index .updateDependency(fileContent, depType, depName, newValue) replaces a github dependency value 1`] = `"{\\"dependencies\\":{\\"gulp\\":\\"gulpjs/gulp#v4.0.0\\"}}"`; - exports[`manager/npm/update/dependency/index .updateDependency(fileContent, depType, depName, newValue) replaces a github fully specified version 1`] = `"{\\"dependencies\\":{\\"n\\":\\"git+https://github.com/owner/n#v1.1.0\\"}}"`; - -exports[`manager/npm/update/dependency/index .updateDependency(fileContent, depType, depName, newValue) replaces a github short hash 1`] = `"{\\"dependencies\\":{\\"gulp\\":\\"gulpjs/gulp#0000000\\"}}"`; - -exports[`manager/npm/update/dependency/index .updateDependency(fileContent, depType, depName, newValue) replaces a npm package alias 1`] = `"{\\"dependencies\\":{\\"hapi\\":\\"npm:@hapi/hapi@18.3.1\\"}}"`; diff --git a/lib/manager/npm/update/dependency/index.spec.ts b/lib/manager/npm/update/dependency/index.spec.ts index 29eb31e9f7d622..900f7f2bcd44c5 100644 --- a/lib/manager/npm/update/dependency/index.spec.ts +++ b/lib/manager/npm/update/dependency/index.spec.ts @@ -39,8 +39,10 @@ describe('manager/npm/update/dependency/index', () => { fileContent: input, upgrade, }); - // FIXME: explicit assert condition - expect(res).toMatchSnapshot(); + expect(res).toBeJsonString(); + expect(JSON.parse(res)).toEqual({ + dependencies: { gulp: 'gulpjs/gulp#v4.0.0' }, + }); }); it('replaces a npm package alias', () => { const upgrade = { @@ -60,8 +62,10 @@ describe('manager/npm/update/dependency/index', () => { fileContent: input, upgrade, }); - // FIXME: explicit assert condition - expect(res).toMatchSnapshot(); + expect(res).toBeJsonString(); + expect(JSON.parse(res)).toEqual({ + dependencies: { hapi: 'npm:@hapi/hapi@18.3.1' }, + }); }); it('replaces a github short hash', () => { const upgrade = { @@ -80,8 +84,10 @@ describe('manager/npm/update/dependency/index', () => { fileContent: input, upgrade, }); - // FIXME: explicit assert condition - expect(res).toMatchSnapshot(); + expect(res).toBeJsonString(); + expect(JSON.parse(res)).toEqual({ + dependencies: { gulp: 'gulpjs/gulp#0000000' }, + }); }); it('replaces a github fully specified version', () => { const upgrade = { diff --git a/lib/manager/npm/update/locked-dependency/package-lock/__snapshots__/dep-constraints.spec.ts.snap b/lib/manager/npm/update/locked-dependency/package-lock/__snapshots__/dep-constraints.spec.ts.snap deleted file mode 100644 index f784dddca7160a..00000000000000 --- a/lib/manager/npm/update/locked-dependency/package-lock/__snapshots__/dep-constraints.spec.ts.snap +++ /dev/null @@ -1,29 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`manager/npm/update/locked-dependency/package-lock/dep-constraints findDepConstraints() finds direct dependency 1`] = ` -Array [ - Object { - "constraint": "4.0.0", - "depType": "dependencies", - }, -] -`; - -exports[`manager/npm/update/locked-dependency/package-lock/dep-constraints findDepConstraints() finds direct devDependency 1`] = ` -Array [ - Object { - "constraint": "4.0.0", - "depType": "devDependencies", - }, -] -`; - -exports[`manager/npm/update/locked-dependency/package-lock/dep-constraints findDepConstraints() finds indirect dependency 1`] = ` -Array [ - Object { - "constraint": "0.2.0", - "parentDepName": "express", - "parentVersion": "4.0.0", - }, -] -`; diff --git a/lib/manager/npm/update/locked-dependency/package-lock/dep-constraints.spec.ts b/lib/manager/npm/update/locked-dependency/package-lock/dep-constraints.spec.ts index db3dd66d6fdcad..3e5fd37414c080 100644 --- a/lib/manager/npm/update/locked-dependency/package-lock/dep-constraints.spec.ts +++ b/lib/manager/npm/update/locked-dependency/package-lock/dep-constraints.spec.ts @@ -9,7 +9,6 @@ const packageLockJson = loadJsonFixture('package-lock.json'); describe('manager/npm/update/locked-dependency/package-lock/dep-constraints', () => { describe('findDepConstraints()', () => { it('finds indirect dependency', () => { - // FIXME: explicit assert condition expect( findDepConstraints( packageJson, @@ -18,10 +17,15 @@ describe('manager/npm/update/locked-dependency/package-lock/dep-constraints', () '0.2.0', '0.2.1' ) - ).toMatchSnapshot(); + ).toEqual([ + { + constraint: '0.2.0', + parentDepName: 'express', + parentVersion: '4.0.0', + }, + ]); }); it('finds direct dependency', () => { - // FIXME: explicit assert condition expect( findDepConstraints( packageJson, @@ -30,13 +34,12 @@ describe('manager/npm/update/locked-dependency/package-lock/dep-constraints', () '4.0.0', '4.5.0' ) - ).toMatchSnapshot(); + ).toEqual([{ constraint: '4.0.0', depType: 'dependencies' }]); }); it('finds direct devDependency', () => { const packageJsonDev = { ...packageJson }; packageJsonDev.devDependencies = packageJsonDev.dependencies; delete packageJsonDev.dependencies; - // FIXME: explicit assert condition expect( findDepConstraints( packageJsonDev, @@ -45,7 +48,7 @@ describe('manager/npm/update/locked-dependency/package-lock/dep-constraints', () '4.0.0', '4.5.0' ) - ).toMatchSnapshot(); + ).toEqual([{ constraint: '4.0.0', depType: 'devDependencies' }]); }); }); }); diff --git a/lib/manager/npm/update/locked-dependency/package-lock/get-locked.spec.ts b/lib/manager/npm/update/locked-dependency/package-lock/get-locked.spec.ts index 04ffc599f6a321..27b3fbad802e26 100644 --- a/lib/manager/npm/update/locked-dependency/package-lock/get-locked.spec.ts +++ b/lib/manager/npm/update/locked-dependency/package-lock/get-locked.spec.ts @@ -16,16 +16,24 @@ describe('manager/npm/update/locked-dependency/package-lock/get-locked', () => { expect(getLockedDependencies({}, 'some-dep', '1.0.0')).toEqual([]); }); it('finds direct dependency', () => { - // FIXME: explicit assert condition expect( getLockedDependencies(packageLockJson, 'express', '4.0.0') - ).toMatchSnapshot(); + ).toMatchSnapshot([ + { + resolved: 'https://registry.npmjs.org/express/-/express-4.0.0.tgz', + version: '4.0.0', + }, + ]); }); it('finds indirect dependency', () => { - // FIXME: explicit assert condition expect( getLockedDependencies(packageLockJson, 'send', '0.2.0') - ).toMatchSnapshot(); + ).toMatchSnapshot([ + { + resolved: 'https://registry.npmjs.org/send/-/send-0.2.0.tgz', + version: '0.2.0', + }, + ]); }); }); });