mirror of
https://github.com/badges/shields.git
synced 2025-04-18 19:44:04 +03:00
50 lines
2.0 KiB
JavaScript
50 lines
2.0 KiB
JavaScript
import { isSemver, withRegex } from '../test-validators.js'
|
|
import { createServiceTester } from '../tester.js'
|
|
export const t = await createServiceTester()
|
|
|
|
const isGitLabDisplayVersion = withRegex(/^GitLab [1-9][0-9]*.[0-9]*/)
|
|
|
|
t.create('Release (latest by date)')
|
|
.get('/shields-ops-group/tag-test.json')
|
|
.expectBadge({ label: 'release', message: 'v2.0.0', color: 'blue' })
|
|
|
|
t.create('Release (nested groups latest by date)')
|
|
.get('/gitlab-org/frontend/eslint-plugin.json')
|
|
.expectBadge({ label: 'release', message: isSemver, color: 'blue' })
|
|
|
|
t.create('Release (latest by date, order by created_at)')
|
|
.get('/shields-ops-group/tag-test.json?date_order_by=created_at')
|
|
.expectBadge({ label: 'release', message: 'v2.0.0', color: 'blue' })
|
|
|
|
t.create('Release (latest by date, order by released_at)')
|
|
.get('/shields-ops-group/tag-test.json?date_order_by=released_at')
|
|
.expectBadge({ label: 'release', message: 'v2.0.0', color: 'blue' })
|
|
|
|
t.create('Release (project id latest by date)')
|
|
.get('/29538796.json')
|
|
.expectBadge({ label: 'release', message: 'v2.0.0', color: 'blue' })
|
|
|
|
t.create('Release (latest by semver)')
|
|
.get('/shields-ops-group/tag-test.json?sort=semver')
|
|
.expectBadge({ label: 'release', message: 'v4.0.0', color: 'blue' })
|
|
|
|
t.create('Release (latest by semver pre-release)')
|
|
.get('/shields-ops-group/tag-test.json?sort=semver&include_prereleases')
|
|
.expectBadge({ label: 'release', message: 'v5.0.0-beta.1', color: 'orange' })
|
|
|
|
t.create('Release (release display name)')
|
|
.get('/gitlab-org/gitlab.json?display_name=release')
|
|
.expectBadge({ label: 'release', message: isGitLabDisplayVersion })
|
|
|
|
t.create('Release (custom instance)')
|
|
.get('/GNOME/librsvg.json?gitlab_url=https://gitlab.gnome.org')
|
|
.expectBadge({ label: 'release', message: isSemver, color: 'blue' })
|
|
|
|
t.create('Release (project not found)')
|
|
.get('/fdroid/nonexistant.json')
|
|
.expectBadge({ label: 'release', message: 'project not found' })
|
|
|
|
t.create('Release (no tags)')
|
|
.get('/fdroid/fdroiddata.json')
|
|
.expectBadge({ label: 'release', message: 'no releases found' })
|