test(last-release): add custom dist-tag
This commit is contained in:
		
							parent
							
								
									ba5222af52
								
							
						
					
					
						commit
						6cf1711151
					
				| @ -2,9 +2,13 @@ const nock = require('nock') | |||||||
| 
 | 
 | ||||||
| const availableModule = { | const availableModule = { | ||||||
|   'dist-tags': { |   'dist-tags': { | ||||||
|     latest: '1.33.7' |     latest: '1.33.7', | ||||||
|  |     foo: '0.8.15' | ||||||
|   }, |   }, | ||||||
|   versions: { |   versions: { | ||||||
|  |     '0.8.15': { | ||||||
|  |       gitHead: 'bar' | ||||||
|  |     }, | ||||||
|     '1.33.7': { |     '1.33.7': { | ||||||
|       gitHead: 'HEAD' |       gitHead: 'HEAD' | ||||||
|     } |     } | ||||||
| @ -14,6 +18,10 @@ const availableModule = { | |||||||
| module.exports = nock('http://registry.npmjs.org') | module.exports = nock('http://registry.npmjs.org') | ||||||
|   .get('/available') |   .get('/available') | ||||||
|   .reply(200, availableModule) |   .reply(200, availableModule) | ||||||
|  |   .get('/tagged') | ||||||
|  |   .reply(200, availableModule) | ||||||
|  |   .get('/untagged') | ||||||
|  |   .reply(200, availableModule) | ||||||
|   .get('/@scoped/available') |   .get('/@scoped/available') | ||||||
|   .reply(200, availableModule) |   .reply(200, availableModule) | ||||||
|   .get('/unavailable') |   .get('/unavailable') | ||||||
|  | |||||||
| @ -1,21 +1,54 @@ | |||||||
|  | const { defaults } = require('lodash') | ||||||
| const test = require('tap').test | const test = require('tap').test | ||||||
| 
 | 
 | ||||||
| require('../mocks/registry') | require('../mocks/registry') | ||||||
| const lastRelease = require('../../dist/lib/last-release') | const lastRelease = require('../../dist/lib/last-release') | ||||||
| 
 | 
 | ||||||
| const npmConfig = { | const npmConfig = { | ||||||
|   registry: 'http://registry.npmjs.org/' |   registry: 'http://registry.npmjs.org/', | ||||||
|  |   tag: 'latest' | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| test('last release from registry', (t) => { | test('last release from registry', (t) => { | ||||||
|  |   t.plan(5) | ||||||
|  | 
 | ||||||
|   t.test('get release from package name', (tt) => { |   t.test('get release from package name', (tt) => { | ||||||
|     lastRelease({ |     lastRelease({ | ||||||
|       name: 'available' |       name: 'available' | ||||||
|     }, npmConfig, |     }, | ||||||
|  |     npmConfig, | ||||||
|     (err, release) => { |     (err, release) => { | ||||||
|       tt.error(err) |       tt.error(err) | ||||||
|       tt.is(release.version, '1.33.7', 'version') |       tt.is(release.version, '1.33.7', 'version') | ||||||
|       tt.is(release.gitHead, 'HEAD', 'gitHead') |       tt.is(release.gitHead, 'HEAD', 'gitHead') | ||||||
|  |       tt.is(release.tag, 'latest', 'dist-tag') | ||||||
|  | 
 | ||||||
|  |       tt.end() | ||||||
|  |     }) | ||||||
|  |   }) | ||||||
|  | 
 | ||||||
|  |   t.test('get release from a tagged package\'s name', (tt) => { | ||||||
|  |     lastRelease({ | ||||||
|  |       name: 'tagged' | ||||||
|  |     }, | ||||||
|  |     defaults({tag: 'foo'}, npmConfig), | ||||||
|  |     (err, release) => { | ||||||
|  |       tt.error(err) | ||||||
|  |       tt.is(release.version, '0.8.15', 'version') | ||||||
|  |       tt.is(release.gitHead, 'bar', 'gitHead') | ||||||
|  |       tt.is(release.tag, 'foo', 'dist-tag') | ||||||
|  | 
 | ||||||
|  |       tt.end() | ||||||
|  |     }) | ||||||
|  |   }) | ||||||
|  | 
 | ||||||
|  |   t.test('get error from an untagged package\'s name', (tt) => { | ||||||
|  |     lastRelease({ | ||||||
|  |       name: 'untagged' | ||||||
|  |     }, | ||||||
|  |     defaults({tag: 'bar'}, npmConfig), | ||||||
|  |     (err) => { | ||||||
|  |       tt.is(err.code, 'ENODISTTAG', 'error') | ||||||
| 
 | 
 | ||||||
|       tt.end() |       tt.end() | ||||||
|     }) |     }) | ||||||
| @ -24,11 +57,13 @@ test('last release from registry', (t) => { | |||||||
|   t.test('get release from scoped package name', (tt) => { |   t.test('get release from scoped package name', (tt) => { | ||||||
|     lastRelease({ |     lastRelease({ | ||||||
|       name: '@scoped/available' |       name: '@scoped/available' | ||||||
|     }, npmConfig, |     }, | ||||||
|  |     npmConfig, | ||||||
|     (err, release) => { |     (err, release) => { | ||||||
|       tt.error(err) |       tt.error(err) | ||||||
|       tt.is(release.version, '1.33.7', 'version') |       tt.is(release.version, '1.33.7', 'version') | ||||||
|       tt.is(release.gitHead, 'HEAD', 'gitHead') |       tt.is(release.gitHead, 'HEAD', 'gitHead') | ||||||
|  |       tt.is(release.tag, 'latest', 'dist-tag') | ||||||
| 
 | 
 | ||||||
|       tt.end() |       tt.end() | ||||||
|     }) |     }) | ||||||
| @ -37,7 +72,8 @@ test('last release from registry', (t) => { | |||||||
|   t.test('get nothing from not yet published package name', (tt) => { |   t.test('get nothing from not yet published package name', (tt) => { | ||||||
|     lastRelease({ |     lastRelease({ | ||||||
|       name: 'unavailable' |       name: 'unavailable' | ||||||
|     }, npmConfig, |     }, | ||||||
|  |     npmConfig, | ||||||
|     (err, release) => { |     (err, release) => { | ||||||
|       tt.error(err) |       tt.error(err) | ||||||
|       tt.is(release.version, undefined, 'no version') |       tt.is(release.version, undefined, 'no version') | ||||||
| @ -45,6 +81,4 @@ test('last release from registry', (t) => { | |||||||
|       tt.end() |       tt.end() | ||||||
|     }) |     }) | ||||||
|   }) |   }) | ||||||
| 
 |  | ||||||
|   t.end() |  | ||||||
| }) | }) | ||||||
|  | |||||||
| @ -11,15 +11,20 @@ const plugins = { | |||||||
|   analyzeCommits: (commits, cb) => cb(null, 'major') |   analyzeCommits: (commits, cb) => cb(null, 'major') | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | const npmConfig = { | ||||||
|  |   registry: 'http://registry.npmjs.org/', | ||||||
|  |   tag: 'latest' | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
| test('full pre run', (t) => { | test('full pre run', (t) => { | ||||||
|   t.test('increase version', (tt) => { |   t.test('increase version', (tt) => { | ||||||
|     tt.plan(3) |     tt.plan(3) | ||||||
| 
 | 
 | ||||||
|     pre({ |     pre({ | ||||||
|       name: 'available' |       name: 'available' | ||||||
|     }, { |  | ||||||
|       registry: 'http://registry.npmjs.org/' |  | ||||||
|     }, |     }, | ||||||
|  |     npmConfig, | ||||||
|     plugins, |     plugins, | ||||||
|     (err, release) => { |     (err, release) => { | ||||||
|       tt.error(err) |       tt.error(err) | ||||||
| @ -33,9 +38,8 @@ test('full pre run', (t) => { | |||||||
| 
 | 
 | ||||||
|     pre({ |     pre({ | ||||||
|       name: 'unavailable' |       name: 'unavailable' | ||||||
|     }, { |  | ||||||
|       registry: 'http://registry.npmjs.org/' |  | ||||||
|     }, |     }, | ||||||
|  |     npmConfig, | ||||||
|     plugins, |     plugins, | ||||||
|     (err, release) => { |     (err, release) => { | ||||||
|       tt.error(err) |       tt.error(err) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user