it('should be an unprocessable error with custom message and causes', function () { var e = new NspError(NspError.codes.UNPROCESSABLE, 'message', [ 'cause1', 'cause2' ]); expect(e).toEqual(jasmine.any(Error)); expect(e.name).toBe('NspError'); expect(e.code).toBe('UNPROCESSABLE'); expect(e.message).toBe('message'); expect(e.stack).toBeString(); expect(e.toString()).toBe('NspError: message'); expect(e.causes).toEqual([ 'cause1', 'cause2' ]); });
it("getTargetHost should get Target host", () => { let result = getTargetHost("test.com"); expect(result).toBe("https://test.com"); result = getTargetHost("test.com", "21"); expect(result).toBe("https://test.com"); result = getTargetHost("", "21"); expect(result).toBe("https://mboxedge21.tt.omtrdc.net"); result = getTargetHost(null, null, "testclient"); expect(result).toBe("https://testclient.tt.omtrdc.net"); result = getTargetHost(null, null, "testclient", false); expect(result).toBe("http://testclient.tt.omtrdc.net"); });
function evaluateCordovaDefineStatement (str) { expect(typeof str).toBe('string'); const fnString = str.replace(/^\s*cordova\.define\('cordova\/plugin_list',\s*([\s\S]+)\);\s*$/, '($1)'); const mod = { exports: {} }; global.eval(fnString)(null, mod.exports, mod); // eslint-disable-line no-eval return mod; }
it('should be a 400 error with a cause', function () { var cause = 'Unexpected character: \';\''; var e = new HttpError(HttpError.statusCodes.BAD_REQUEST, 'Invalid JSON', cause); expect(e).toEqual(jasmine.any(Error)); expect(e.name).toBe('HttpError'); expect(e.statusCode).toBe(400); expect(e.statusReason).toBe('Bad request'); expect(e.message).toBe('Invalid JSON'); expect(e.causes).toEqual([cause]); expect(e.toString()).toBe('HttpError: Invalid JSON'); });
it('should be an internal server error', function () { var e = new NspError(); expect(e).toEqual(jasmine.any(Error)); expect(e.name).toBe('NspError'); expect(e.code).toBe('INTERNAL_SERVER_ERROR'); expect(e.message).toBe('Generic error'); expect(e.causes).toBeEmptyArray(); expect(e.stack).toBeString(); });
it('should be a forbidden error', function () { var e = new NspError(NspError.codes.FORBIDDEN); expect(e).toEqual(jasmine.any(Error)); expect(e.name).toBe('NspError'); expect(e.code).toBe('FORBIDDEN'); expect(e.message).toBe('The principal is not authorized to execute this task'); expect(e.causes).toBeEmptyArray(); expect(e.stack).toBeString(); expect(e.toString()).toBe('NspError: The principal is not authorized to execute this task'); });
it('should be an invalid error', function () { var e = new NspError(NspError.codes.INVALID); expect(e).toEqual(jasmine.any(Error)); expect(e.name).toBe('NspError'); expect(e.code).toBe('INVALID'); expect(e.message).toBe('Invalid request'); expect(e.stack).toBeString(); expect(e.toString()).toBe('NspError: Invalid request'); });
it('should be a 405 error', function () { var e = new HttpError(HttpError.statusCodes.METHOD_NOT_ALLOWED, 'Can\'t delete a Card'); expect(e).toEqual(jasmine.any(Error)); expect(e.name).toBe('HttpError'); expect(e.statusCode).toBe(405); expect(e.statusReason).toBe('Method not allowed'); expect(e.message).toBe('Can\'t delete a Card'); expect(e.causes).toBeEmptyArray(); expect(e.toString()).toBe('HttpError: Can\'t delete a Card'); });
it('should be a not found error', function () { var e = new NspError(NspError.codes.NOT_FOUND); expect(e).toEqual(jasmine.any(Error)); expect(e.name).toBe('NspError'); expect(e.code).toBe('NOT_FOUND'); expect(e.message).toBe('Not found'); expect(e.causes).toBeEmptyArray(); expect(e.stack).toBeString(); expect(e.toString()).toBe('NspError: Not found'); });
it('should be a 409 error', function () { var e = new HttpError(HttpError.statusCodes.CONFLICT, 'Duplicated UUID'); expect(e).toEqual(jasmine.any(Error)); expect(e.name).toBe('HttpError'); expect(e.statusCode).toBe(409); expect(e.statusReason).toBe('Conflict'); expect(e.message).toBe('Duplicated UUID'); expect(e.causes).toBeEmptyArray(); expect(e.toString()).toBe('HttpError: Duplicated UUID'); });
it('should be a not implemented error with custom message and a cause', function () { var e = new NspError(NspError.codes.NOT_IMPLEMENTED, 'message', 'cause'); expect(e).toEqual(jasmine.any(Error)); expect(e.name).toBe('NspError'); expect(e.code).toBe('NOT_IMPLEMENTED'); expect(e.message).toBe('message'); expect(e.stack).toBeString(); expect(e.toString()).toBe('NspError: message'); expect(e.causes).toEqual([ 'cause' ]); });
it('should be a 422 error with causes', function () { var causes = ['owner is read-only', 'uuid required']; var e = new HttpError(HttpError.statusCodes.UNPROCESSABLE_ENTITY, 'Validation error', causes); expect(e).toEqual(jasmine.any(Error)); expect(e.name).toBe('HttpError'); expect(e.statusCode).toBe(422); expect(e.statusReason).toBe('Unprocessable entity'); expect(e.message).toBe('Validation error'); expect(e.causes).toEqual(causes); expect(e.toString()).toBe('HttpError: Validation error'); });
it('should be a 415 error', function () { var e = new HttpError(HttpError.statusCodes.UNSUPPORTED_MEDIA_TYPE, 'Content-Type must be ' + 'application/json'); expect(e).toEqual(jasmine.any(Error)); expect(e.name).toBe('HttpError'); expect(e.statusCode).toBe(415); expect(e.statusReason).toBe('Unsupported media type'); expect(e.message).toBe('Content-Type must be application/json'); expect(e.causes).toBeEmptyArray(); expect(e.toString()).toBe('HttpError: Content-Type must be application/json'); });
it('should be a 404 error', function () { var e = new HttpError(HttpError.statusCodes.NOT_FOUND, 'Card not found'); expect(e).toEqual(jasmine.any(Error)); expect(e.name).toBe('HttpError'); expect(e.statusCode).toBe(404); expect(e.statusReason).toBe('Not found'); expect(e.message).toBe('Card not found'); expect(e.causes).toBeEmptyArray(); expect(e.toString()).toBe('HttpError: Card not found'); });
it('should be a 403 error', function () { var e = new HttpError(HttpError.statusCodes.FORBIDDEN, 'You cannot delete a Card'); expect(e).toEqual(jasmine.any(Error)); expect(e.name).toBe('HttpError'); expect(e.statusCode).toBe(403); expect(e.statusReason).toBe('Forbidden'); expect(e.message).toBe('You cannot delete a Card'); expect(e.causes).toBeEmptyArray(); expect(e.toString()).toBe('HttpError: You cannot delete a Card'); });