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