Files
shields/services/github/github-license.tester.js
Pierre-Yves B 25f8541e5b JSON format modernisation and _shields_test removal (#3272)
* Modernised JSON format and removed _shields_test style

* Added logoWidth and labelColor fields to JSON response

* Reinstated and updated comment

* Extended expectBadge to accept Joi schemas for all fields
2019-04-07 18:57:55 +01:00

63 lines
1.6 KiB
JavaScript

'use strict'
const { licenseToColor } = require('../licenses')
const t = (module.exports = require('../tester').createServiceTester())
const publicDomainLicenseColor = licenseToColor('CC0-1.0')
const unknownLicenseColor = licenseToColor()
t.create('License')
.get('/github/gitignore.json')
.expectBadge({
label: 'license',
message: 'CC0-1.0',
color: `#${publicDomainLicenseColor}`,
})
t.create('License for repo without a license')
.get('/badges/badger.json')
.expectBadge({
label: 'license',
message: 'not specified',
color: 'lightgrey',
})
t.create('License for repo with an unrecognized license')
.get('/philokev/sopel-noblerealms.json')
.expectBadge({
label: 'license',
message: 'not identifiable by github',
color: unknownLicenseColor,
})
t.create('License with SPDX id not appearing in configuration')
.get('/user1/project-with-EFL-license.json')
.intercept(nock =>
nock('https://api.github.com')
.get('/repos/user1/project-with-EFL-license')
.query(true)
// GitHub API currently returns "other" as a key for repo with EFL license
.reply(200, {
license: {
key: 'efl-1.0',
name: 'Eiffel Forum License v1.0',
spdx_id: 'EFL-1.0',
url: 'https://api.github.com/licenses/efl-1.0',
featured: true,
},
})
)
.expectBadge({
label: 'license',
message: 'EFL-1.0',
color: unknownLicenseColor,
})
t.create('License for unknown repo')
.get('/user1/github-does-not-have-this-repo.json')
.expectBadge({
label: 'license',
message: 'repo not found',
color: 'red',
})