Files
shields/services/github/github-commits-since.tester.js
Anton Gilgur 7f7ecfd111 add sort and prerelease query params to [GitHubCommitsSince] (also refactors [GitHubRelease], [GitHubTag]) (#4395)
* move getLatestRelease logic from [GitHubRelease] to common-fetch

- so that the sorting and prerelease logic can be used for other
  services too, like commits-since

* add sort and prerelease query params to [GitHubCommitsSince]

- they only work when using the 'latest' version of course

- uses same logic as release service

* reuse queryParamSchema from common-fetch for [GitHubTag]

- as they were the exact same schema

* refactor [GitHubCommitsSince] tests to use withRegex

- and the same variable everywhere

* split out release/tag logic from common-fetch to common-release (affects [GitHubCommitsSince], [GitHubRelease], [GitHubTag])

- this logic is only used for code related to releases & tags, so made
  sense as a split point

Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
2020-02-13 22:18:29 -06:00

66 lines
1.7 KiB
JavaScript

'use strict'
const { withRegex, isMetric } = require('../test-validators')
const t = (module.exports = require('../tester').createServiceTester())
const isCommitsSince = withRegex(/^(commits since){1}[\s\S]+$/)
t.create('Commits since')
.get('/badges/shields/a0663d8da53fb712472c02665e6ff7547ba945b7.json')
.expectBadge({
label: isCommitsSince,
message: isMetric,
color: 'blue',
})
t.create('Commits since (branch)')
.get('/badges/shields/60be4859585650e8c2b87669e3a39d98ca084e98/gh-pages.json')
.expectBadge({
label: isCommitsSince,
message: isMetric,
})
t.create('Commits since by latest release')
.get('/microsoft/typescript/latest.json')
.expectBadge({
label: isCommitsSince,
message: isMetric,
})
t.create('Commits since by latest release (branch)')
.get('/microsoft/typescript/latest/master.json')
.expectBadge({
label: isCommitsSince,
message: isMetric,
})
t.create('Commits since by latest SemVer release')
.get('/microsoft/typescript/latest.json?sort=semver')
.expectBadge({
label: isCommitsSince,
message: isMetric,
})
t.create('Commits since by latest pre-release')
.get('/microsoft/typescript/latest/master.json?include_prereleases')
.expectBadge({
label: isCommitsSince,
message: isMetric,
})
t.create('Commits since (version not found)')
.get('/badges/shields/not-a-version.json')
.expectBadge({
label: 'github',
message: 'repo or version not found',
})
t.create('Commits since (branch not found)')
.get(
'/badges/shields/a0663d8da53fb712472c02665e6ff7547ba945b7/not-a-branch.json'
)
.expectBadge({
label: 'github',
message: 'repo, branch or version not found',
})