diff --git a/package-lock.json b/package-lock.json index aa65bce..ba2e9d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@hckrnews/error", - "version": "0.3.1", + "version": "0.3.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@hckrnews/error", - "version": "0.3.1", + "version": "0.3.2", "license": "MIT", "dependencies": { "@hckrnews/validator": "^5.0.1" diff --git a/package.json b/package.json index fcf6346..d36142b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@hckrnews/error", "description": "Extended Errors", - "version": "0.3.1", + "version": "0.3.2", "author": { "name": "Pieter Wigboldus", "url": "https://hckr.news/" diff --git a/src/__tests__/app-error.unit.js b/src/__tests__/app-error.unit.js index 31cf2af..a37b628 100644 --- a/src/__tests__/app-error.unit.js +++ b/src/__tests__/app-error.unit.js @@ -2,6 +2,63 @@ import { expect, describe, it } from '@jest/globals'; import { AppError } from '../index.js'; describe('App Error test', () => { + it('It should create a app error with minimum fields', () => { + const error = new AppError({ + message: 'Example text', + }); + + expect(error instanceof AppError).toEqual(true); + expect(error instanceof Error).toEqual(true); + expect(error.name).toEqual('AppError'); + expect(error.message).toEqual('Example text'); + expect(error.value).toEqual(null); + expect(error.status).toEqual(500); + expect(error.type).toEqual(null); + expect(error.date.constructor).toEqual(Date); + expect(error.stack.includes('AppError: Example text')).toEqual(true); + expect(error.me).toEqual(null); + }); + + it('It should create a app error with null on optional fields', () => { + const error = new AppError({ + value: null, + type: null, + message: 'Example text', + me: null, + }); + + expect(error instanceof AppError).toEqual(true); + expect(error instanceof Error).toEqual(true); + expect(error.name).toEqual('AppError'); + expect(error.message).toEqual('Example text'); + expect(error.value).toEqual(null); + expect(error.status).toEqual(500); + expect(error.type).toEqual(null); + expect(error.date.constructor).toEqual(Date); + expect(error.stack.includes('AppError: Example text')).toEqual(true); + expect(error.me).toEqual(null); + }); + + it('It should create a app error with undefined on optional fields', () => { + const error = new AppError({ + value: undefined, + type: undefined, + message: 'Example text', + me: undefined, + }); + + expect(error instanceof AppError).toEqual(true); + expect(error instanceof Error).toEqual(true); + expect(error.name).toEqual('AppError'); + expect(error.message).toEqual('Example text'); + expect(error.value).toEqual(null); + expect(error.status).toEqual(500); + expect(error.type).toEqual(null); + expect(error.date.constructor).toEqual(Date); + expect(error.stack.includes('AppError: Example text')).toEqual(true); + expect(error.me).toEqual(null); + }); + it('It should create a app error', () => { const error = new AppError({ value: 'test',