diff --git a/services/github/github-commit-activity.tester.js b/services/github/github-commit-activity.tester.js index 03dc477360a15d2786c0f65eb9a1b359e87063d6..66d6d7cc606b83d752c39561b1fd484a81f335a3 100644 --- a/services/github/github-commit-activity.tester.js +++ b/services/github/github-commit-activity.tester.js @@ -1,8 +1,17 @@ 'use strict' -const { isMetricOverTimePeriod } = require('../test-validators') +const Joi = require('@hapi/joi') +const { + isMetricOverTimePeriod, + isZeroOverTimePeriod, +} = require('../test-validators') const t = (module.exports = require('../tester').createServiceTester()) +const isCommitActivity = Joi.alternatives().try( + isMetricOverTimePeriod, + isZeroOverTimePeriod +) + t.create('commit activity (1 year)').get('/y/eslint/eslint.json').expectBadge({ label: 'commit activity', message: isMetricOverTimePeriod, @@ -22,7 +31,7 @@ t.create('commit activity (4 weeks)') t.create('commit activity (1 week)').get('/w/eslint/eslint.json').expectBadge({ label: 'commit activity', - message: isMetricOverTimePeriod, + message: isCommitActivity, }) t.create('commit activity (repo not found)') diff --git a/services/test-validators.js b/services/test-validators.js index 72e1378aba143b9024f154b13088e51d31a199cc..c88aa6c3f7df181b76dfddeb191dc66d3a617605 100644 --- a/services/test-validators.js +++ b/services/test-validators.js @@ -76,6 +76,8 @@ const isMetricOverTimePeriod = withRegex( /^([1-9][0-9]*[kMGTPEZY]?|[1-9]\.[1-9][kMGTPEZY])\/(year|month|four weeks|week|day)$/ ) +const isZeroOverTimePeriod = withRegex(/^0\/(year|month|four weeks|week|day)$/) + const isIntegerPercentage = withRegex(/^[1-9][0-9]?%|^100%|^0%$/) const isDecimalPercentage = withRegex(/^[0-9]+\.[0-9]*%$/) const isPercentage = Joi.alternatives().try( @@ -150,6 +152,7 @@ module.exports = { isMetricOpenIssues, isMetricOverMetric, isMetricOverTimePeriod, + isZeroOverTimePeriod, isPercentage, isIntegerPercentage, isDecimalPercentage,