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