mirror of
https://github.com/stablyai/orca.git
synced 2026-10-02 00:02:05 +00:00
44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
import { describe, it, expect } from 'vitest'
|
|
import { classifyError } from './classify-error'
|
|
|
|
describe('classifyError', () => {
|
|
it('classifies ENOENT as binary_not_found', () => {
|
|
expect(classifyError(new Error('spawn zsh ENOENT'))).toEqual({
|
|
error_class: 'binary_not_found'
|
|
})
|
|
expect(classifyError(Object.assign(new Error('missing'), { code: 'ENOENT' }))).toEqual({
|
|
error_class: 'binary_not_found'
|
|
})
|
|
})
|
|
|
|
it('keeps shell-output-shaped not-found messages unknown', () => {
|
|
expect(classifyError(new Error('command not found: claude'))).toEqual({
|
|
error_class: 'unknown'
|
|
})
|
|
expect(classifyError(new Error('workspace not found'))).toEqual({
|
|
error_class: 'unknown'
|
|
})
|
|
expect(
|
|
classifyError(
|
|
Object.assign(new Error('socket missing'), { code: 'ENOENT', syscall: 'connect' })
|
|
)
|
|
).toEqual({ error_class: 'unknown' })
|
|
})
|
|
|
|
it('returns unknown for null/undefined input', () => {
|
|
expect(classifyError(null)).toEqual({ error_class: 'unknown' })
|
|
expect(classifyError(undefined)).toEqual({ error_class: 'unknown' })
|
|
})
|
|
|
|
it('returns unknown for an unrecognized message', () => {
|
|
expect(classifyError(new Error('some unique failure mode we do not know'))).toEqual({
|
|
error_class: 'unknown'
|
|
})
|
|
})
|
|
|
|
it('returns unknown for non-Error throws', () => {
|
|
expect(classifyError('a bare string')).toEqual({ error_class: 'unknown' })
|
|
expect(classifyError({ random: 'object' })).toEqual({ error_class: 'unknown' })
|
|
})
|
|
})
|