63 lines
1.3 KiB
JavaScript
63 lines
1.3 KiB
JavaScript
const test = require('tap').test
|
|
const nock = require('nock')
|
|
|
|
const lastRelease = require('../../dist/lib/last-release.js')
|
|
|
|
const availableModule = {
|
|
'dist-tags': {
|
|
latest: '1.33.7'
|
|
},
|
|
versions: {
|
|
'1.33.7': {
|
|
gitHead: 'HEAD'
|
|
}
|
|
}
|
|
}
|
|
|
|
const registry = 'http://registry.npmjs.org'
|
|
const regMock = nock(registry)
|
|
.get('/available')
|
|
.reply(200, availableModule)
|
|
.get('/@scoped/available')
|
|
.reply(200, availableModule)
|
|
.get('/unavailable')
|
|
.reply(404, {})
|
|
|
|
test('last release from registry', (t) => {
|
|
t.test('get release from package name', (t) => {
|
|
lastRelease({
|
|
name: 'available'
|
|
}, {
|
|
registry
|
|
}, (err, release) => {
|
|
t.error(err)
|
|
t.is(release.version, '1.33.7', 'version')
|
|
t.is(release.gitHead, 'HEAD', 'gitHead')
|
|
})
|
|
})
|
|
|
|
t.test('get release from scoped package name', (t) => {
|
|
lastRelease({
|
|
name: '@scoped/available'
|
|
}, {
|
|
registry
|
|
}, (err, release) => {
|
|
t.error(err)
|
|
t.is(release.version, '1.33.7', 'version')
|
|
t.is(release.gitHead, 'HEAD', 'gitHead')
|
|
})
|
|
})
|
|
|
|
t.test('get nothing from not yet published package name', (t) => {
|
|
lastRelease({
|
|
name: 'unavailable'
|
|
}, {
|
|
registry
|
|
}, (err, release) => {
|
|
t.error(err)
|
|
t.is(release.version, undefined, 'no version')
|
|
regMock.done()
|
|
})
|
|
})
|
|
})
|