Files
shields/services/github/github-commit-activity.tester.js
jNullj 35dfd75ef5 Fix: [GithubCommitActivity] invalid branch error handling (#9258)
* Fix error handling of bad branch in [GithubCommitActivity]

When GraphQL response with a bad repo it returns an error indicating the bad repo.
When GraphQL has the currect repo with a bad branch it will null inside the repo object without an error object.
The privouse commits seems to try and use that but due not allowing null in schema it did not work and an error due to bad schema would show insted.

This commit fixes this issue

* Add test for invalid branch in [GithubCommitActivity]

---------

Co-authored-by: jNullj <jNullj@users.noreply.github.com>
2023-06-14 20:53:48 +01:00

62 lines
1.5 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
)
t.create('commit activity (total)').get('/t/badges/shields.json').expectBadge({
label: 'commits',
message: isMetric,
})
t.create('commit activity (1 year)').get('/y/eslint/eslint.json').expectBadge({
label: 'commit activity',
message: isMetricOverTimePeriod,
})
t.create('commit activity (1 month)').get('/m/eslint/eslint.json').expectBadge({
label: 'commit activity',
message: isMetricOverTimePeriod,
})
t.create('commit activity (4 weeks)')
.get('/4w/eslint/eslint.json')
.expectBadge({
label: 'commit activity',
message: isMetricOverTimePeriod,
})
t.create('commit activity (1 week)').get('/w/eslint/eslint.json').expectBadge({
label: 'commit activity',
message: isCommitActivity,
})
t.create('commit activity (custom branch)')
.get('/y/badges/squint/main.json')
.expectBadge({
label: 'commit activity',
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',
})