Files
livedash-node/tests/formatError.test.ts
Kaj Kowalski bb078b4d6a Fix error handling to properly use formatError utility and improve environment detection
- Actually use the formatError function in the error handling code
- Update formatError function to accept env parameter for Cloudflare Workers
- Improve environment detection to use WORKER_ENV instead of process.env
- Update tests to match new function signature
- Add comprehensive test coverage for error formatting
- Fix linting issues and ensure proper TypeScript types
2025-06-10 00:46:21 +02:00

37 lines
1.2 KiB
TypeScript

import { test } from 'node:test';
import assert from 'node:assert';
import { formatError } from '../src/utils/error';
const originalEnv = process.env.NODE_ENV;
test('includes stack when not in production', () => {
const err = new Error('boom');
const payload = formatError(err, { WORKER_ENV: 'development' });
assert.ok('stack' in payload);
});
test('omits stack in production', () => {
const err = new Error('boom');
const payload = formatError(err, { WORKER_ENV: 'production' });
assert.ok(!('stack' in payload));
});
test('includes message for all environments', () => {
const err = new Error('boom');
const devPayload = formatError(err, { WORKER_ENV: 'development' });
const prodPayload = formatError(err, { WORKER_ENV: 'production' });
assert.strictEqual(devPayload.message, 'boom');
assert.strictEqual(prodPayload.message, 'boom');
});
test('handles non-Error objects', () => {
const payload = formatError('string error', { WORKER_ENV: 'development' });
assert.strictEqual(payload.message, 'Unknown error');
assert.strictEqual(payload.error, 'Internal Server Error');
});
test.after(() => {
if (originalEnv === undefined) delete process.env.NODE_ENV; else process.env.NODE_ENV = originalEnv;
});