mirror of
https://github.com/badges/shields.git
synced 2025-04-18 19:44:04 +03:00
121 lines
3.3 KiB
JavaScript
121 lines
3.3 KiB
JavaScript
import Joi from 'joi'
|
|
import {
|
|
isMetricOverTimePeriod,
|
|
isZeroOverTimePeriod,
|
|
isMetric,
|
|
} from '../test-validators.js'
|
|
import { createServiceTester } from '../tester.js'
|
|
export const t = await createServiceTester()
|
|
|
|
const isCommitActivity = Joi.alternatives().try(
|
|
isMetricOverTimePeriod,
|
|
isZeroOverTimePeriod,
|
|
)
|
|
|
|
const authorFilterUser = 'jnullj'
|
|
|
|
t.create('commit activity (total)').get('/t/badges/shields.json').expectBadge({
|
|
label: 'commits',
|
|
message: isMetric,
|
|
})
|
|
|
|
t.create('commit activity (total) by author')
|
|
.get(`/t/badges/shields.json?authorFilter=${authorFilterUser}`)
|
|
.expectBadge({
|
|
label: `commits by ${authorFilterUser}`,
|
|
message: isMetric,
|
|
})
|
|
|
|
t.create('commit activity (1 year)').get('/y/eslint/eslint.json').expectBadge({
|
|
label: 'commit activity',
|
|
message: isMetricOverTimePeriod,
|
|
})
|
|
|
|
t.create('commit activity (1 year) by author')
|
|
.get(`/y/badges/shields.json?authorFilter=${authorFilterUser}`)
|
|
.expectBadge({
|
|
label: `commit activity by ${authorFilterUser}`,
|
|
message: isCommitActivity,
|
|
})
|
|
|
|
t.create('commit activity (1 month)').get('/m/eslint/eslint.json').expectBadge({
|
|
label: 'commit activity',
|
|
message: isMetricOverTimePeriod,
|
|
})
|
|
|
|
t.create('commit activity (1 month) by author')
|
|
.get(`/m/badges/shields.json?authorFilter=${authorFilterUser}`)
|
|
.expectBadge({
|
|
label: `commit activity by ${authorFilterUser}`,
|
|
message: isCommitActivity,
|
|
})
|
|
|
|
t.create('commit activity (4 weeks)')
|
|
.get('/4w/eslint/eslint.json')
|
|
.expectBadge({
|
|
label: 'commit activity',
|
|
message: isMetricOverTimePeriod,
|
|
})
|
|
|
|
t.create('commit activity (4 weeks) by author')
|
|
.get(`/4w/badges/shields.json?authorFilter=${authorFilterUser}`)
|
|
.expectBadge({
|
|
label: `commit activity by ${authorFilterUser}`,
|
|
message: isCommitActivity,
|
|
})
|
|
|
|
t.create('commit activity (1 week)').get('/w/eslint/eslint.json').expectBadge({
|
|
label: 'commit activity',
|
|
message: isCommitActivity,
|
|
})
|
|
|
|
t.create('commit activity (1 week) by author')
|
|
.get(`/w/badges/shields.json?authorFilter=${authorFilterUser}`)
|
|
.expectBadge({
|
|
label: `commit activity by ${authorFilterUser}`,
|
|
message: isCommitActivity,
|
|
})
|
|
|
|
t.create('commit activity (custom branch)')
|
|
.get('/y/badges/squint/main.json')
|
|
.expectBadge({
|
|
label: 'commit activity',
|
|
message: isCommitActivity,
|
|
})
|
|
|
|
t.create('commit activity (custom branch) by author')
|
|
.get(`/y/badges/squint/main.json?authorFilter=${authorFilterUser}`)
|
|
.expectBadge({
|
|
label: `commit activity by ${authorFilterUser}`,
|
|
message: isCommitActivity,
|
|
})
|
|
|
|
t.create('commit activity (repo not found)')
|
|
.get('/w/badges/helmets.json')
|
|
.expectBadge({
|
|
label: 'commit activity',
|
|
message: 'repo not found',
|
|
})
|
|
|
|
t.create('commit activity (invalid branch)')
|
|
.get('/w/badges/shields/invalidBranchName.json')
|
|
.expectBadge({
|
|
label: 'commit activity',
|
|
message: 'invalid branch',
|
|
})
|
|
|
|
// test for error handling of author filter as it uses REST and not GraphQL
|
|
t.create('commit activity (repo not found)')
|
|
.get('/w/badges/helmets.json?authorFilter=zaphod')
|
|
.expectBadge({
|
|
label: 'commit activity',
|
|
message: 'repo or branch not found',
|
|
})
|
|
|
|
t.create('commit activity (invalid branch)')
|
|
.get('/w/badges/shields/invalidBranchName.json?authorFilter=zaphod')
|
|
.expectBadge({
|
|
label: 'commit activity',
|
|
message: 'repo or branch not found',
|
|
})
|