Files
shields/services/build-status.spec.js
Florian "sp1rit 8a9efb2fc9 [OBS] add Open Build Service service-badge (#6993)
* service: add obs service

* service: obs: replaced replaceAll with replace and global regex

* service: obs: added space between class members

* service: obs: support for multiple instances

* service: obs: removed user prefix from auth vars

obs_userName is now called obs_user and obs_userPass is called obs_pass

Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>

* service: obs: removed constructor hack in favour of serviceKey

* service: obs: apply suggestions from @calebcartwright

* service: obs: remove unneccesary http status mappings

Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-09-25 17:44:56 +00:00

91 lines
2.6 KiB
JavaScript

import { expect } from 'chai'
import { test, given, forCases } from 'sazerac'
import { renderBuildStatusBadge } from './build-status.js'
test(renderBuildStatusBadge, () => {
given({ label: 'build', status: 'passed' }).expect({
label: 'build',
message: 'passing',
color: 'brightgreen',
})
given({ label: 'build', status: 'success' }).expect({
label: 'build',
message: 'passing',
color: 'brightgreen',
})
given({ label: 'build', status: 'partially succeeded' }).expect({
label: 'build',
message: 'passing',
color: 'orange',
})
given({ label: 'build', status: 'failed' }).expect({
label: 'build',
message: 'failing',
color: 'red',
})
given({ label: 'build', status: 'error' }).expect({
label: 'build',
message: 'error',
color: 'red',
})
})
test(renderBuildStatusBadge, () => {
forCases([
given({ status: 'fixed' }),
given({ status: 'passed' }),
given({ status: 'passing' }),
given({ status: 'succeeded' }),
given({ status: 'success' }),
given({ status: 'successful' }),
]).assert('should be brightgreen', b =>
expect(b).to.include({ color: 'brightgreen' })
)
})
test(renderBuildStatusBadge, () => {
forCases([
given({ status: 'partially succeeded' }),
given({ status: 'timeout' }),
given({ status: 'unstable' }),
]).assert('should be orange', b => expect(b).to.include({ color: 'orange' }))
})
test(renderBuildStatusBadge, () => {
forCases([
given({ status: 'broken' }),
given({ status: 'error' }),
given({ status: 'errored' }),
given({ status: 'failed' }),
given({ status: 'failing' }),
given({ status: 'failure' }),
given({ status: 'infrastructure_failure' }),
]).assert('should be red', b => expect(b).to.include({ color: 'red' }))
})
test(renderBuildStatusBadge, () => {
forCases([
given({ status: 'building' }),
given({ status: 'canceled' }),
given({ status: 'cancelled' }),
given({ status: 'expired' }),
given({ status: 'initiated' }),
given({ status: 'no builds' }),
given({ status: 'no tests' }),
given({ status: 'not built' }),
given({ status: 'not run' }),
given({ status: 'pending' }),
given({ status: 'processing' }),
given({ status: 'queued' }),
given({ status: 'running' }),
given({ status: 'scheduled' }),
given({ status: 'skipped' }),
given({ status: 'starting' }),
given({ status: 'stopped' }),
given({ status: 'testing' }),
given({ status: 'waiting' }),
]).assert('should have undefined color', b =>
expect(b).to.include({ color: undefined })
)
})