trade360-nodejs-sdk
Version:
LSports Trade360 SDK for Node.js
37 lines • 2.27 kB
JavaScript
;
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