diff --git a/test/specs/core/createError.spec.js b/test/specs/core/createError.spec.js index a1e445b..b4e18f9 100644 --- a/test/specs/core/createError.spec.js +++ b/test/specs/core/createError.spec.js @@ -1,11 +1,15 @@ var createError = require('../../../lib/core/createError'); describe('core::createError', function() { - it('should create an Error with message, config, and code', function() { - var error = createError('Boom!', { foo: 'bar' }, 'ESOMETHING'); + it('should create an Error with message, config, code, request and response', function() { + var request = { path: '/foo' }; + var response = { status: 200, data: { foo: 'bar' } }; + var error = createError('Boom!', { foo: 'bar' }, 'ESOMETHING', request, response); expect(error instanceof Error).toBe(true); expect(error.message).toBe('Boom!'); expect(error.config).toEqual({ foo: 'bar' }); expect(error.code).toBe('ESOMETHING'); + expect(error.request).toBe(request); + expect(error.response).toBe(response); }); }); diff --git a/test/specs/core/enhanceError.spec.js b/test/specs/core/enhanceError.spec.js index bb8ba22..0b7c936 100644 --- a/test/specs/core/enhanceError.spec.js +++ b/test/specs/core/enhanceError.spec.js @@ -1,11 +1,16 @@ var enhanceError = require('../../../lib/core/enhanceError'); describe('core::enhanceError', function() { - it('should add config and code to error', function() { + it('should add config, config, request and response to error', function() { var error = new Error('Boom!'); - enhanceError(error, { foo: 'bar' }, 'ESOMETHING'); + var request = { path: '/foo' }; + var response = { status: 200, data: { foo: 'bar' } }; + + enhanceError(error, { foo: 'bar' }, 'ESOMETHING', request, response); expect(error.config).toEqual({ foo: 'bar' }); expect(error.code).toBe('ESOMETHING'); + expect(error.request).toBe(request); + expect(error.response).toBe(response); }); it('should return error', function() { diff --git a/test/specs/core/settle.spec.js b/test/specs/core/settle.spec.js index cc5c15e..914bb9b 100644 --- a/test/specs/core/settle.spec.js +++ b/test/specs/core/settle.spec.js @@ -48,13 +48,17 @@ describe('core::settle', function() { }); it('should reject promise if validateStatus returns false', function() { + var req = { + path: '/foo' + }; var response = { status: 500, config: { validateStatus: function() { return false; } - } + }, + request: req }; settle(resolve, reject, response); expect(resolve).not.toHaveBeenCalled(); @@ -63,6 +67,7 @@ describe('core::settle', function() { expect(reason instanceof Error).toBe(true); expect(reason.message).toBe('Request failed with status code 500'); expect(reason.config).toBe(response.config); + expect(reason.request).toBe(req); expect(reason.response).toBe(response); }); diff --git a/test/specs/requests.spec.js b/test/specs/requests.spec.js index 0ae4726..ba7ffc6 100644 --- a/test/specs/requests.spec.js +++ b/test/specs/requests.spec.js @@ -49,15 +49,16 @@ describe('requests', function () { var reason = rejectSpy.calls.first().args[0]; expect(reason instanceof Error).toBe(true); expect(reason.config.method).toBe('get'); - expect(reason.config.url).toBe('http://thisisnotaserver'); + expect(reason.config.url).toBe('http://thisisnotaserver/foo'); + expect(reason.request).toEqual(jasmine.any(XMLHttpRequest)); // re-enable jasmine.Ajax jasmine.Ajax.install(); - + done(); }; - axios('http://thisisnotaserver') + axios('http://thisisnotaserver/foo') .then(resolveSpy, rejectSpy) .then(finish, finish); });