1
0
mirror of https://github.com/badges/shields.git synced 2025-04-20 06:47:51 +03:00
shields/services/pypi/pypi-python-versions.tester.js
Pierre-Yves B 102db63d46 Split [pypi] tests (#3704)
* Split [pypi] tests

* Changed filenames to match previous class names
2019-07-13 10:45:58 -05:00

40 lines
1.2 KiB
JavaScript

'use strict'
const Joi = require('@hapi/joi')
const t = (module.exports = require('../tester').createServiceTester())
// These regexes are the same, but declared separately for clarity.
const isPipeSeparatedPythonVersions = Joi.string().regex(
/^([0-9]+\.[0-9]+(?: \| )?)+$/
)
t.create('python versions (valid, package version in request)')
.get('/requests/2.18.4.json')
.expectBadge({
label: 'python',
message: isPipeSeparatedPythonVersions,
})
t.create('python versions (valid, no package version specified)')
.get('/requests.json')
.expectBadge({
label: 'python',
message: isPipeSeparatedPythonVersions,
})
t.create('python versions ("Only" and others)')
.get('/uvloop/0.12.1.json')
.expectBadge({ label: 'python', message: '3.5 | 3.6 | 3.7' })
t.create('python versions ("Only" only)')
.get('/hashpipe/0.9.1.json')
.expectBadge({ label: 'python', message: '3' })
t.create('python versions (no versions specified)')
.get('/pyshp/1.2.12.json')
.expectBadge({ label: 'python', message: 'missing' })
t.create('python versions (invalid)')
.get('/not-a-package.json')
.expectBadge({ label: 'python', message: 'package or version not found' })