From 7712d268976f9e838a24c6d6c97ad24a19b0af02 Mon Sep 17 00:00:00 2001 From: Caleb Cartwright <calebcartwright@users.noreply.github.com> Date: Sun, 20 Sep 2020 14:58:54 -0500 Subject: [PATCH] tests: add a validator for 0/timePeriod (#5583) Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com> --- services/github/github-commit-activity.tester.js | 13 +++++++++++-- services/test-validators.js | 3 +++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/services/github/github-commit-activity.tester.js b/services/github/github-commit-activity.tester.js index 03dc477360..66d6d7cc60 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 72e1378aba..c88aa6c3f7 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, -- GitLab