|
1 | | -import path from 'path'; |
2 | 1 | import test from 'ava'; |
3 | | -import {writeFile} from 'fs-extra'; |
4 | | -import tempy from 'tempy'; |
5 | 2 | import getReleaseInfo from '../lib/get-release-info'; |
6 | 3 |
|
7 | | -test.beforeEach(() => { |
8 | | - // Delete all `npm_config` environment variable set by CI as they take precedence over the `.npmrc` because the process that runs the tests is started before the `.npmrc` is created |
9 | | - for (let i = 0, keys = Object.keys(process.env); i < keys.length; i++) { |
10 | | - if (keys[i].startsWith('npm_')) { |
11 | | - delete process.env[keys[i]]; |
12 | | - } |
13 | | - } |
14 | | -}); |
15 | | - |
16 | | -test('Default registry and tag', async t => { |
17 | | - const cwd = tempy.directory(); |
18 | | - |
19 | | - t.deepEqual(await getReleaseInfo({name: 'module'}, {cwd, env: {}}, 'https://registry.npmjs.org/'), { |
20 | | - name: 'npm package (@latest dist-tag)', |
21 | | - url: 'https://www.npmjs.com/package/module', |
22 | | - }); |
23 | | -}); |
24 | | - |
25 | | -test('Default registry, tag and scoped module', async t => { |
26 | | - const cwd = tempy.directory(); |
27 | | - |
28 | | - t.deepEqual(await getReleaseInfo({name: '@scope/module'}, {cwd, env: {}}, 'https://registry.npmjs.org/'), { |
| 4 | +test('Default registry and scoped module', async t => { |
| 5 | + t.deepEqual(await getReleaseInfo({name: '@scope/module'}, {env: {}}, 'latest', 'https://registry.npmjs.org/'), { |
29 | 6 | name: 'npm package (@latest dist-tag)', |
30 | 7 | url: 'https://www.npmjs.com/package/@scope/module', |
31 | 8 | }); |
32 | 9 | }); |
33 | 10 |
|
34 | | -test('Custom registry, tag and scoped module', async t => { |
35 | | - const cwd = tempy.directory(); |
36 | | - |
37 | | - t.deepEqual(await getReleaseInfo({name: '@scope/module'}, {cwd, env: {}}, 'https://custom.registry.org/'), { |
| 11 | +test('Custom registry and scoped module', async t => { |
| 12 | + t.deepEqual(await getReleaseInfo({name: '@scope/module'}, {env: {}}, 'latest', 'https://custom.registry.org/'), { |
38 | 13 | name: 'npm package (@latest dist-tag)', |
39 | 14 | url: undefined, |
40 | 15 | }); |
41 | 16 | }); |
42 | | - |
43 | | -test('Default registry and tag from .npmrc', async t => { |
44 | | - const cwd = tempy.directory(); |
45 | | - await writeFile(path.resolve(cwd, '.npmrc'), 'tag=npmrc'); |
46 | | - |
47 | | - t.deepEqual( |
48 | | - await getReleaseInfo({name: 'module', publishConfig: {}}, {cwd, env: {}}, 'https://registry.npmjs.org/'), |
49 | | - { |
50 | | - name: 'npm package (@npmrc dist-tag)', |
51 | | - url: 'https://www.npmjs.com/package/module', |
52 | | - } |
53 | | - ); |
54 | | -}); |
55 | | - |
56 | | -test('Default registry and tag from package.json', async t => { |
57 | | - const cwd = tempy.directory(); |
58 | | - |
59 | | - await writeFile(path.resolve(cwd, '.npmrc'), 'tag=npmrc'); |
60 | | - |
61 | | - t.deepEqual( |
62 | | - await getReleaseInfo({name: 'module', publishConfig: {tag: 'pkg'}}, {cwd, env: {}}, 'https://registry.npmjs.org/'), |
63 | | - {name: 'npm package (@pkg dist-tag)', url: 'https://www.npmjs.com/package/module'} |
64 | | - ); |
65 | | -}); |
66 | | - |
67 | | -test('Default tag', async t => { |
68 | | - const cwd = tempy.directory(); |
69 | | - |
70 | | - await writeFile(path.resolve(cwd, '.npmrc'), 'tag='); |
71 | | - |
72 | | - t.deepEqual( |
73 | | - await getReleaseInfo({name: 'module', publishConfig: {}}, {cwd, env: {}}, 'https://registry.npmjs.org/'), |
74 | | - { |
75 | | - name: 'npm package (@latest dist-tag)', |
76 | | - url: 'https://www.npmjs.com/package/module', |
77 | | - } |
78 | | - ); |
79 | | -}); |
0 commit comments