Skip to content
← Public packages

@kentcdodds/audible

Personal Audible library app — browser re-auth, library, wishlist, NAS archive stub.

src/__tests__/archive-to-nas-already-exists.test.ts

43 lines · 1.1 KB · TypeScript
import assert from 'node:assert/strict'
import { describe, it } from 'node:test'
import { isAudiobookAlreadyExistsImportResult } from '../import-already-exists.ts'

describe('isAudiobookAlreadyExistsImportResult', () => {
	it('detects nested home MCP error.code', () => {
		assert.equal(
			isAudiobookAlreadyExistsImportResult({
				ok: false,
				error: {
					code: 'audiobook_already_exists',
					message: 'Title.m4b already exists',
					filename: 'Title.m4b',
				},
			}),
			true,
		)
	})

	it('detects top-level code', () => {
		assert.equal(
			isAudiobookAlreadyExistsImportResult({
				ok: false,
				code: 'audiobook_already_exists',
				filename: 'Title.m4b',
			}),
			true,
		)
	})

	it('rejects other failures', () => {
		assert.equal(
			isAudiobookAlreadyExistsImportResult({
				ok: false,
				error: { code: 'audiobook_ffmpeg_failed', message: 'ffmpeg failed' },
			}),
			false,
		)
		assert.equal(isAudiobookAlreadyExistsImportResult({ ok: true }), false)
		assert.equal(isAudiobookAlreadyExistsImportResult(null), false)
		assert.equal(isAudiobookAlreadyExistsImportResult(undefined), false)
	})
})