UNPKG

apollo-error-converter

Version:

Global Apollo Server Error handling made easy. Remove verbose and repetitive resolver / data source Error handling. Ensures no implementation details are ever leaked while preserving internal Error logging.

47 lines (36 loc) 1.49 kB
const getMapItem = require("../get-map-item"); describe("getMapItem(): looks up a MapItem by the original Error name, code or type property", () => { const errorNameMapItem = "mapping by Error.name"; const errorCodeMapItem = "mapping by Error.code"; const errorTypeMapItem = "mapping by Error.type"; const errorMap = { errorMap: { ErrorName: errorNameMapItem, ErrorCode: errorCodeMapItem, ErrorType: errorTypeMapItem, }, }; test("Error.name used for MapItem configuration: returns the MapItem", () => { const errorWithName = new Error(); errorWithName.name = "ErrorName"; const output = getMapItem.call(errorMap, errorWithName); expect(output).toBe(errorNameMapItem); }); test("Error.code used for MapItem configuration: returns the MapItem", () => { const errorWithCode = new Error(); errorWithCode.code = "ErrorCode"; const output = getMapItem.call(errorMap, errorWithCode); expect(output).toBe(errorCodeMapItem); }); test("Error.type used for MapItem configuration: returns the MapItem", () => { const errorWithType = new Error(); errorWithType.type = "ErrorType"; const output = getMapItem.call(errorMap, errorWithType); expect(output).toBe(errorTypeMapItem); }); test("No mapping found by error.[name, code, type]: returns null", () => { const noMatchError = new Error(); const output = getMapItem.call(errorMap, noMatchError); expect(output).toBeNull(); }); });