UNPKG

trade360-nodejs-sdk

Version:

LSports Trade360 SDK for Node.js

37 lines 2.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const http_response_error_1 = require("../../../src/entities/errors/http-response.error"); const base_error_1 = require("../../../src/entities/errors/base.error"); describe('HttpResponseError', () => { it('should instantiate with a formatted message', () => { const error = new http_response_error_1.HttpResponseError('Extra info', { foo: 'bar' }); expect(error).toBeInstanceOf(http_response_error_1.HttpResponseError); expect(error).toBeInstanceOf(base_error_1.BaseError); expect(error.message).toBe('API call failed, Extra info'); expect(error.foo).toBeUndefined(); // only context is passed if (typeof error === 'object' && error !== null && 'context' in error) { expect(error.context).toBeUndefined(); } }); describe('getHttpResponseErrorByStatusCode', () => { it('should return error with mapped message for known status code', () => { const error = http_response_error_1.HttpResponseError.getHttpResponseErrorByStatusCode(404, 'raw', 'Not Found', 'Some message'); expect(error).toBeInstanceOf(http_response_error_1.HttpResponseError); expect(error.message).toBe('API call failed, Not Found'); expect(error.context).toBe('raw'); }); it('should return error with custom message for unknown status code', () => { const error = http_response_error_1.HttpResponseError.getHttpResponseErrorByStatusCode(999, 'raw', 'Unknown', 'Custom message'); expect(error).toBeInstanceOf(http_response_error_1.HttpResponseError); expect(error.message).toBe('API call failed, Unknown, Custom message'); expect(error.context).toBe('raw'); }); it('should handle missing arguments gracefully', () => { const error = http_response_error_1.HttpResponseError.getHttpResponseErrorByStatusCode(); expect(error).toBeInstanceOf(http_response_error_1.HttpResponseError); expect(error.message).toBe('API call failed, undefined, undefined'); expect(error.context).toBeUndefined(); }); }); }); //# sourceMappingURL=http-response.error.spec.js.map