takt/src/__tests__/error-utils.test.ts
2026-02-10 07:07:40 +09:00

40 lines
1.2 KiB
TypeScript

/**
* Unit tests for error utilities
*
* Tests error message extraction from unknown error types.
*/
import { describe, it, expect } from 'vitest';
import { getErrorMessage } from '../shared/utils/error.js';
describe('getErrorMessage', () => {
it('should extract message from Error instances', () => {
expect(getErrorMessage(new Error('test error'))).toBe('test error');
});
it('should extract message from Error subclasses', () => {
expect(getErrorMessage(new TypeError('type error'))).toBe('type error');
expect(getErrorMessage(new RangeError('range error'))).toBe('range error');
});
it('should convert string to message', () => {
expect(getErrorMessage('string error')).toBe('string error');
});
it('should convert number to message', () => {
expect(getErrorMessage(42)).toBe('42');
});
it('should convert null to message', () => {
expect(getErrorMessage(null)).toBe('null');
});
it('should convert undefined to message', () => {
expect(getErrorMessage(undefined)).toBe('undefined');
});
it('should convert object to message', () => {
expect(getErrorMessage({ code: 'ERR' })).toBe('[object Object]');
});
});