cloc-graph
Version:
Track lines of code over time by language with visualization
62 lines (61 loc) • 2.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const errorHandler_1 = require("../../utils/errorHandler");
describe('Error Handler', () => {
describe('AppError', () => {
it('should create an error with the correct properties', () => {
const error = new errorHandler_1.AppError('Test error message', 'TEST_CODE', 42);
expect(error).toBeInstanceOf(Error);
expect(error.message).toBe('Test error message');
expect(error.name).toBe('AppError');
expect(error.code).toBe('TEST_CODE');
expect(error.exitCode).toBe(42);
});
it('should use default values when not specified', () => {
const error = new errorHandler_1.AppError('Default error');
expect(error.code).toBe('GENERAL_ERROR');
expect(error.exitCode).toBe(1);
});
});
describe('handleError', () => {
// Save original console methods
const originalConsoleError = console.error;
const originalConsoleDebug = console.debug;
beforeEach(() => {
// Mock console methods
console.error = jest.fn();
console.debug = jest.fn();
});
afterEach(() => {
// Restore original console methods
console.error = originalConsoleError;
console.debug = originalConsoleDebug;
});
it('should handle AppError correctly', () => {
const error = new errorHandler_1.AppError('Application error', 'TEST_CODE', 42);
const exitCode = (0, errorHandler_1.handleError)(error);
expect(console.error).toHaveBeenCalledWith('Error [TEST_CODE]: Application error');
expect(exitCode).toBe(42);
});
it('should handle standard Error correctly', () => {
const error = new Error('Standard error');
const exitCode = (0, errorHandler_1.handleError)(error);
expect(console.error).toHaveBeenCalledWith('Unexpected error: Standard error');
expect(exitCode).toBe(1);
});
it('should handle unknown error types', () => {
const exitCode = (0, errorHandler_1.handleError)('String error');
expect(console.error).toHaveBeenCalledWith('Unknown error:', 'String error');
expect(exitCode).toBe(1);
});
});
describe('ErrorTypes', () => {
it('should define common error types', () => {
expect(errorHandler_1.ErrorTypes.INVALID_ARGUMENTS).toBeDefined();
expect(errorHandler_1.ErrorTypes.REPOSITORY_ERROR).toBeDefined();
expect(errorHandler_1.ErrorTypes.CLOC_ERROR).toBeDefined();
expect(errorHandler_1.ErrorTypes.CHART_ERROR).toBeDefined();
expect(errorHandler_1.ErrorTypes.FILE_SYSTEM_ERROR).toBeDefined();
});
});
});