/
getManifest.spec.ts
56 lines (51 loc) · 1.28 KB
/
getManifest.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import { ResolveFunction } from '@pnpm/client'
import { getManifest } from '../lib/createManifestGetter'
test('getManifest()', async () => {
const opts = {
dir: '',
lockfileDir: '',
rawConfig: {},
registries: {
'@scope': 'https://pnpm.io/',
default: 'https://registry.npmjs.org/',
},
}
const resolve: ResolveFunction = async function (wantedPackage, opts) {
expect(opts.registry).toEqual('https://registry.npmjs.org/')
return {
id: 'foo/1.0.0',
latest: '1.0.0',
manifest: {
name: 'foo',
version: '1.0.0',
},
resolution: {
type: 'tarball',
},
resolvedVia: 'npm-registry',
}
}
expect(await getManifest(resolve, opts, 'foo', 'latest')).toStrictEqual({
name: 'foo',
version: '1.0.0',
})
const resolve2: ResolveFunction = async function (wantedPackage, opts) {
expect(opts.registry).toEqual('https://pnpm.io/')
return {
id: 'foo/2.0.0',
latest: '2.0.0',
manifest: {
name: 'foo',
version: '2.0.0',
},
resolution: {
type: 'tarball',
},
resolvedVia: 'npm-registry',
}
}
expect(await getManifest(resolve2, opts, '@scope/foo', 'latest')).toStrictEqual({
name: 'foo',
version: '2.0.0',
})
})