Files
shields/services/bower/bower-version.tester.js
chris48s 347e0a81f3 set followRedirect: false by default in tests (#4491)
* set followRedirect: false by default in tests

* update tests implicitly relying on redirects

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2020-01-07 21:13:48 +00:00

63 lines
1.9 KiB
JavaScript

'use strict'
const Joi = require('@hapi/joi')
const { isVPlusDottedVersionAtLeastOne } = require('../test-validators')
const { ServiceTester } = require('../tester')
const t = (module.exports = new ServiceTester({
id: 'BowerVersion',
title: 'Bower Version',
pathPrefix: '/bower',
}))
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('/v/bootstrap.json?include_prereleases')
.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('/v/it-is-a-invalid-package-should-error.json?include_prereleases')
.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('/v/bootstrap.json?include_prereleases')
.intercept(nock =>
nock('https://libraries.io')
.get('/api/bower/bootstrap')
.reply(200, { normalized_licenses: [], latest_release_number: null })
)
.expectBadge({ label: 'bower', message: 'no releases' })
t.create('Version (legacy redirect: vpre)')
.get('/vpre/bootstrap.svg')
.expectRedirect('/bower/v/bootstrap.svg?include_prereleases')