1
0
mirror of https://github.com/badges/shields.git synced 2025-04-20 06:47:51 +03:00
shields/services/codeclimate/codeclimate-coverage.tester.js
Paul Melnikow 11cd0bdbc5 Split up [codeclimate] tests (#3300)
* Split up [codeclimate] tests

* Fix copy-pasta
2019-04-13 18:47:59 -05:00

54 lines
1.3 KiB
JavaScript

'use strict'
const Joi = require('joi')
const { ServiceTester } = require('../tester')
const { isIntegerPercentage } = require('../test-validators')
const t = (module.exports = new ServiceTester({
id: 'CodeClimateCoverage',
title: 'Code Climate',
pathPrefix: '/codeclimate',
}))
t.create('test coverage percentage')
.get('/c/jekyll/jekyll.json')
.expectBadge({
label: 'coverage',
message: isIntegerPercentage,
})
t.create('test coverage percentage alternative coverage URL')
.get('/coverage/jekyll/jekyll.json')
.expectBadge({
label: 'coverage',
message: isIntegerPercentage,
})
t.create('test coverage percentage alternative top-level URL')
.get('/jekyll/jekyll.json')
.expectBadge({
label: 'coverage',
message: isIntegerPercentage,
})
t.create('test coverage letter')
.get('/c-letter/jekyll/jekyll.json')
.expectBadge({
label: 'coverage',
message: Joi.equal('A', 'B', 'C', 'D', 'E', 'F'),
})
t.create('test coverage percentage for non-existent repo')
.get('/c/unknown/unknown.json')
.expectBadge({
label: 'coverage',
message: 'not found',
})
t.create('test coverage percentage for repo without test reports')
.get('/c/angular/angular.js.json')
.expectBadge({
label: 'coverage',
message: 'unknown',
})