mirror of
https://github.com/kjanat/livedash-node.git
synced 2026-01-16 11:52:09 +01:00
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
This commit is contained in:
@ -5,19 +5,32 @@ import { formatError } from '../src/utils/error';
|
||||
const originalEnv = process.env.NODE_ENV;
|
||||
|
||||
test('includes stack when not in production', () => {
|
||||
delete process.env.NODE_ENV;
|
||||
const err = new Error('boom');
|
||||
const payload = formatError(err);
|
||||
const payload = formatError(err, { WORKER_ENV: 'development' });
|
||||
assert.ok('stack' in payload);
|
||||
});
|
||||
|
||||
test('omits stack in production', () => {
|
||||
process.env.NODE_ENV = 'production';
|
||||
const err = new Error('boom');
|
||||
const payload = formatError(err);
|
||||
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;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user