import { test } from '@japa/runner' import { SOURCES, sourceCode, sourceName } from '#lib/release/source' test.group('release source codes', () => { test('names and codes map both ways; the codes are fixed', ({ assert }) => { assert.deepEqual(SOURCES, { subject: 1, post: 2, stem: 3, spot: 4, nzb: 5, album: 6 }) for (const [name, code] of Object.entries(SOURCES)) { assert.equal(sourceCode(name), code) assert.equal(sourceName(code), name) assert.equal(sourceName(String(code)), name) } }) test('an unknown name throws, an unknown code reads as unknown', ({ assert }) => { assert.throws(() => sourceCode('subjekt'), /Unknown release source/) assert.equal(sourceName(99), 'unknown') assert.equal(sourceName(null), 'unknown') }) })