Files
shields/services/bower/bower-version.tester.js
T

54 lines
1.6 KiB
JavaScript

'use strict'
const Joi = require('joi')
const { isVPlusDottedVersionAtLeastOne } = require('../test-validators')
const t = (module.exports = require('../tester').createServiceTester())
const isBowerPrereleaseVersion = Joi.string().regex(
/^v\d+(\.\d+)?(\.\d+)?(-?[.\w\d])+?$/
)
t.create('version')
.timeout(10000)
.get('/v/bootstrap.json')
.expectBadge({
label: 'bower',
message: isVPlusDottedVersionAtLeastOne,
})
t.create('pre version') // e.g. bower|v0.2.5-alpha-rc-pre
.timeout(10000)
.get('/vpre/bootstrap.json')
.expectBadge({
label: 'bower',
message: isBowerPrereleaseVersion,
})
t.create('Version for Invalid Package')
.timeout(10000)
.get('/v/it-is-a-invalid-package-should-error.json')
.expectBadge({ label: 'bower', message: 'package not found' })
t.create('Pre Version for Invalid Package')
.timeout(10000)
.get('/vpre/it-is-a-invalid-package-should-error.json')
.expectBadge({ label: 'bower', message: 'package not found' })
t.create('Version label should be `no releases` if no stable version')
.get('/v/bootstrap.json')
.intercept(nock =>
nock('https://libraries.io')
.get('/api/bower/bootstrap')
.reply(200, { normalized_licenses: [], latest_stable_release: null })
)
.expectBadge({ label: 'bower', message: 'no releases' })
t.create('Version label should be `no releases` if no pre-release')
.get('/vpre/bootstrap.json')
.intercept(nock =>
nock('https://libraries.io')
.get('/api/bower/bootstrap')
.reply(200, { normalized_licenses: [], latest_release_number: null })
)
.expectBadge({ label: 'bower', message: 'no releases' })