UNPKG

glitchkit

Version:

A lightweight toolkit to create and manage expressive, structured, and reusable error types. Perfect for APIs, services, and glitchy adventures

80 lines (79 loc) 4.21 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const GlitchKitBaseError_1 = __importDefault(require("../../baseGlitchKit/GlitchKitBaseError")); const GlitchKitBaseFileSystemError_1 = __importDefault(require("../../baseGlitchKit/GlitchKitBaseFileSystemError")); const GlitchKitDirectoryFoundError_1 = __importDefault(require("../GlitchKitDirectoryFoundError")); const GlitchKitDirectoryNotFoundError_1 = __importDefault(require("../GlitchKitDirectoryNotFoundError")); const GlitchKitDirectoryPermissionError_1 = __importDefault(require("../GlitchKitDirectoryPermissionError")); const GlitchKitFileExistsError_1 = __importDefault(require("../GlitchKitFileExistsError")); const GlitchKitFileNotFoundError_1 = __importDefault(require("../GlitchKitFileNotFoundError")); const GlitchKitFilePermissionError_1 = __importDefault(require("../GlitchKitFilePermissionError")); describe('HttpError Generics', () => { const ErrorClasses = [ GlitchKitDirectoryFoundError_1.default, GlitchKitDirectoryNotFoundError_1.default, GlitchKitDirectoryPermissionError_1.default, GlitchKitFileExistsError_1.default, GlitchKitFileNotFoundError_1.default, GlitchKitFilePermissionError_1.default, ]; const DUMMY_PATH = '/dummy/path'; const DUMMY_ERROR_CODE = 1001; const DUMMY_ERROR_MESSAGE = 'Test Error message'; it('should be instance of correct BaseError', () => { for (const ErrorClass of ErrorClasses) { const errorInstance = new ErrorClass(DUMMY_ERROR_MESSAGE, DUMMY_ERROR_CODE); expect(errorInstance).toBeInstanceOf(ErrorClass); expect(ErrorClass.isInstance(errorInstance)).toBe(true); expect(GlitchKitBaseError_1.default.isInstance(errorInstance)).toBe(true); expect(GlitchKitBaseFileSystemError_1.default.isInstance(errorInstance)).toBe(true); try { errorInstance.raise(); } catch (e) { expect(e).toBeInstanceOf(ErrorClass); } } }); it('should be instance of correct initialization', () => { for (const ErrorClass of ErrorClasses) { const errorInstance = new ErrorClass(DUMMY_ERROR_MESSAGE, DUMMY_ERROR_CODE); expect(errorInstance.message).toBe(DUMMY_ERROR_MESSAGE); expect(errorInstance.errorCode).toBe(DUMMY_ERROR_CODE); const errorJson = errorInstance.toJSON(); expect(errorJson.message).toBe(DUMMY_ERROR_MESSAGE); } }); it('should assign collect attribute values 1', () => { for (const ErrorClass of ErrorClasses) { const errorInstance = new ErrorClass(DUMMY_ERROR_MESSAGE, DUMMY_ERROR_CODE); errorInstance.path = DUMMY_PATH; expect(errorInstance.path).toBe(DUMMY_PATH); errorInstance.errorCode = DUMMY_ERROR_CODE; expect(errorInstance.errorCode).toBe(DUMMY_ERROR_CODE); errorInstance.durationMs = 500; expect(errorInstance.durationMs).toBe(500); expect(errorInstance.timestamp).toBeInstanceOf(Date); const errorJson = errorInstance.toJSON(); expect(errorJson.message).toBe(DUMMY_ERROR_MESSAGE); } }); it('should assign collect attribute values 2', () => { for (const ErrorClass of ErrorClasses) { const errorInstance = new ErrorClass(DUMMY_ERROR_MESSAGE, DUMMY_ERROR_CODE); errorInstance.withPath(DUMMY_PATH); expect(errorInstance.path).toBe(DUMMY_PATH); errorInstance.withErrorCode(DUMMY_ERROR_CODE); expect(errorInstance.errorCode).toBe(DUMMY_ERROR_CODE); errorInstance.withDurationMs(500); expect(errorInstance.durationMs).toBe(500); expect(errorInstance.timestamp).toBeInstanceOf(Date); const errorJson = errorInstance.toJSON(); expect(errorJson.message).toBe(DUMMY_ERROR_MESSAGE); } }); }); // We recommend installing an extension to run jest tests.