diff --git a/dist/ngRestAdapter.d.ts b/dist/ngRestAdapter.d.ts index 8c583ee..00ac2c9 100644 --- a/dist/ngRestAdapter.d.ts +++ b/dist/ngRestAdapter.d.ts @@ -50,12 +50,17 @@ declare module NgRestAdapter { interface ISkipInterceptorFunction { (rejection: ng.IHttpPromiseCallbackArg): boolean; } + interface INgRestAdapterRequestConfig extends ng.IRequestConfig { + ngRestAdapterServiceConfig: INgRestAdapterServiceConfig; + isBaseUrl: boolean; + } } declare module NgRestAdapter { class NgRestAdapterService implements INgRestAdapterService { private config; private $http; private uuid4; + private originalConfig; private apiErrorHandler; private skipInterceptorRoutes; /** @@ -63,8 +68,9 @@ declare module NgRestAdapter { * @param config * @param $http * @param uuid4 + * @param originalConfig */ - constructor(config: INgRestAdapterServiceConfig, $http: ng.IHttpService, uuid4: any); + constructor(config: INgRestAdapterServiceConfig, $http: ng.IHttpService, uuid4: any, originalConfig?: INgRestAdapterServiceConfig); private sendRequest(method, url, requestHeaders?, data?, configOverrides?); options(url: string, headers?: IHeaderConfig, configOverrides?: ng.IRequestShortcutConfig): ng.IHttpPromise; get(url: string, headers?: IHeaderConfig, configOverrides?: ng.IRequestShortcutConfig): ng.IHttpPromise; diff --git a/dist/ngRestAdapter.js b/dist/ngRestAdapter.js index 0fafc35..b7ebae5 100644 --- a/dist/ngRestAdapter.js +++ b/dist/ngRestAdapter.js @@ -65,11 +65,13 @@ var NgRestAdapter; * @param config * @param $http * @param uuid4 + * @param originalConfig */ - function NgRestAdapterService(config, $http, uuid4) { + function NgRestAdapterService(config, $http, uuid4, originalConfig) { this.config = config; this.$http = $http; this.uuid4 = uuid4; + this.originalConfig = originalConfig; } NgRestAdapterService.prototype.sendRequest = function (method, url, requestHeaders, data, configOverrides) { if (requestHeaders === void 0) { requestHeaders = {}; } @@ -87,7 +89,8 @@ var NgRestAdapter; url: this.config.baseUrl + url, headers: _.defaults(requestHeaders, defaultHeaders), responseType: 'json', - ngRestAdapterServiceConfig: this.config + ngRestAdapterServiceConfig: this.config, + isBaseUrl: !this.originalConfig || this.config.baseUrl === this.originalConfig.baseUrl, }; //if data is present, attach it to config if (!_.isEmpty(data)) { @@ -123,12 +126,12 @@ var NgRestAdapter; }; NgRestAdapterService.prototype.api = function (url) { var config = _.defaults({ baseUrl: url }, this.config); - return new NgRestAdapterService(config, this.$http, this.uuid4); + return new NgRestAdapterService(config, this.$http, this.uuid4, this.config); }; NgRestAdapterService.prototype.skipInterceptor = function (shouldSkip) { if (shouldSkip === void 0) { shouldSkip = function () { return true; }; } var config = _.defaults({ skipInterceptor: shouldSkip }, this.config); - return new NgRestAdapterService(config, this.$http, this.uuid4); + return new NgRestAdapterService(config, this.$http, this.uuid4, this.config); }; NgRestAdapterService.prototype.uuid = function () { return this.uuid4.generate(); @@ -164,11 +167,10 @@ var NgRestAdapter; NgRestAdapter.NgRestAdapterService = NgRestAdapterService; })(NgRestAdapter || (NgRestAdapter = {})); /// -var __extends = this.__extends || function (d, b) { +var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } - __.prototype = b.prototype; - d.prototype = new __(); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; var NgRestAdapter; (function (NgRestAdapter) { diff --git a/dist/ngRestAdapter.js.map b/dist/ngRestAdapter.js.map index 11f4322..7dd6138 100644 --- a/dist/ngRestAdapter.js.map +++ b/dist/ngRestAdapter.js.map @@ -1 +1 @@ -{"version":3,"sources":["ngRestAdapterInterceptor.ts","ngRestAdapterInterfaces.ts","ngRestAdapterService.ts","ngRestAdapterServiceProvider.ts"],"names":["NgRestAdapter","NgRestAdapter.NgRestAdapterInterceptor","NgRestAdapter.NgRestAdapterInterceptor.constructor","NgRestAdapter.NgRestAdapterService","NgRestAdapter.NgRestAdapterService.constructor","NgRestAdapter.NgRestAdapterService.sendRequest","NgRestAdapter.NgRestAdapterService.options","NgRestAdapter.NgRestAdapterService.get","NgRestAdapter.NgRestAdapterService.head","NgRestAdapter.NgRestAdapterService.put","NgRestAdapter.NgRestAdapterService.post","NgRestAdapter.NgRestAdapterService.patch","NgRestAdapter.NgRestAdapterService.remove","NgRestAdapter.NgRestAdapterService.api","NgRestAdapter.NgRestAdapterService.skipInterceptor","NgRestAdapter.NgRestAdapterService.uuid","NgRestAdapter.NgRestAdapterService.isUuid","NgRestAdapter.NgRestAdapterService.getConfig","NgRestAdapter.NgRestAdapterService.registerApiErrorHandler","NgRestAdapter.NgRestAdapterService.getErrorHandler","NgRestAdapter.NgRestAdapterService.getSkipInterceptorRoutes","NgRestAdapter.NgRestAdapterService.setSkipInterceptorRoutes","NgRestAdapter.NgRestAdapterException","NgRestAdapter.NgRestAdapterException.constructor","NgRestAdapter.NgRestAdapterException.toString","NgRestAdapter.NgRestAdapterErrorHandlerNotFoundException","NgRestAdapter.NgRestAdapterErrorHandlerNotFoundException.constructor","NgRestAdapter.NgRestAdapterServiceProvider","NgRestAdapter.NgRestAdapterServiceProvider.constructor","NgRestAdapter.NgRestAdapterServiceProvider.constructor.NgRestAdapterServiceFactory","NgRestAdapter.NgRestAdapterServiceProvider.configure"],"mappings":"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","file":"ngRestAdapter.js","sourceRoot":"../src/"} \ No newline at end of file +{"version":3,"sources":["ngRestAdapterInterceptor.ts","ngRestAdapterInterfaces.ts","ngRestAdapterService.ts","ngRestAdapterServiceProvider.ts"],"names":["NgRestAdapter","NgRestAdapter.NgRestAdapterInterceptor","NgRestAdapter.NgRestAdapterInterceptor.constructor","NgRestAdapter.NgRestAdapterService","NgRestAdapter.NgRestAdapterService.constructor","NgRestAdapter.NgRestAdapterService.sendRequest","NgRestAdapter.NgRestAdapterService.options","NgRestAdapter.NgRestAdapterService.get","NgRestAdapter.NgRestAdapterService.head","NgRestAdapter.NgRestAdapterService.put","NgRestAdapter.NgRestAdapterService.post","NgRestAdapter.NgRestAdapterService.patch","NgRestAdapter.NgRestAdapterService.remove","NgRestAdapter.NgRestAdapterService.api","NgRestAdapter.NgRestAdapterService.skipInterceptor","NgRestAdapter.NgRestAdapterService.uuid","NgRestAdapter.NgRestAdapterService.isUuid","NgRestAdapter.NgRestAdapterService.getConfig","NgRestAdapter.NgRestAdapterService.registerApiErrorHandler","NgRestAdapter.NgRestAdapterService.getErrorHandler","NgRestAdapter.NgRestAdapterService.getSkipInterceptorRoutes","NgRestAdapter.NgRestAdapterService.setSkipInterceptorRoutes","NgRestAdapter.NgRestAdapterException","NgRestAdapter.NgRestAdapterException.constructor","NgRestAdapter.NgRestAdapterException.toString","NgRestAdapter.NgRestAdapterErrorHandlerNotFoundException","NgRestAdapter.NgRestAdapterErrorHandlerNotFoundException.constructor","NgRestAdapter.NgRestAdapterServiceProvider","NgRestAdapter.NgRestAdapterServiceProvider.constructor","NgRestAdapter.NgRestAdapterServiceProvider.constructor.NgRestAdapterServiceFactory","NgRestAdapter.NgRestAdapterServiceProvider.configure"],"mappings":"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","file":"ngRestAdapter.js","sourceRoot":"../src/"} \ No newline at end of file diff --git a/package.json b/package.json index ee20487..a95255a 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "main-bower-files": "^2.8.2", "merge2": "^0.3.6", "minimatch": "^2.0.8", - "mocha": "^2.2.5", + "mocha": "^2.3.2", "requirejs": "^2.1.18", "run-sequence": "^1.1.1", "sinon": "^1.15.4", diff --git a/src/ngRestAdapterInterfaces.ts b/src/ngRestAdapterInterfaces.ts index 46cd9ea..89b2f39 100644 --- a/src/ngRestAdapterInterfaces.ts +++ b/src/ngRestAdapterInterfaces.ts @@ -46,4 +46,10 @@ module NgRestAdapter { (rejection:ng.IHttpPromiseCallbackArg):boolean; } + + export interface INgRestAdapterRequestConfig extends ng.IRequestConfig{ + ngRestAdapterServiceConfig:INgRestAdapterServiceConfig; + isBaseUrl:boolean; + } + } diff --git a/src/ngRestAdapterService.ts b/src/ngRestAdapterService.ts index b5f1440..2d8aa27 100644 --- a/src/ngRestAdapterService.ts +++ b/src/ngRestAdapterService.ts @@ -12,11 +12,13 @@ module NgRestAdapter { * @param config * @param $http * @param uuid4 + * @param originalConfig */ constructor( private config:INgRestAdapterServiceConfig, private $http: ng.IHttpService, - private uuid4 + private uuid4, + private originalConfig?:INgRestAdapterServiceConfig ) { } @@ -34,12 +36,13 @@ module NgRestAdapter { }; //set the default config - var requestConfig:ng.IRequestConfig = { + var requestConfig:INgRestAdapterRequestConfig = { method: method, url: this.config.baseUrl + url, headers: _.defaults(requestHeaders, defaultHeaders), responseType: 'json', //it could always be json as even a head request might throw an exception as json - ngRestAdapterServiceConfig: this.config + ngRestAdapterServiceConfig: this.config, + isBaseUrl: !this.originalConfig || this.config.baseUrl === this.originalConfig.baseUrl, }; //if data is present, attach it to config @@ -49,7 +52,7 @@ module NgRestAdapter { //handle overrides if (!_.isEmpty(configOverrides)){ - requestConfig = _.defaults(configOverrides, requestConfig); + requestConfig = _.defaults(configOverrides, requestConfig); } var resultPromise = this.$http(requestConfig); @@ -89,14 +92,14 @@ module NgRestAdapter { let config = _.defaults({baseUrl:url}, this.config); - return new NgRestAdapterService(config, this.$http, this.uuid4); + return new NgRestAdapterService(config, this.$http, this.uuid4, this.config); } public skipInterceptor(shouldSkip:ISkipInterceptorFunction = () => true):NgRestAdapterService { let config = _.defaults({skipInterceptor:shouldSkip}, this.config); - return new NgRestAdapterService(config, this.$http, this.uuid4); + return new NgRestAdapterService(config, this.$http, this.uuid4, this.config); } diff --git a/test/test.ts b/test/test.ts index 82f175b..e551605 100644 --- a/test/test.ts +++ b/test/test.ts @@ -70,6 +70,7 @@ describe('Service tests', () => { let $httpBackend:ng.IHttpBackendService; let ngRestAdapterService:NgRestAdapter.NgRestAdapterService; let $exceptionHandler; + let $rootScope:ng.IRootScopeService; beforeEach(()=>{ @@ -81,7 +82,7 @@ describe('Service tests', () => { $exceptionHandlerProvider.mode('log'); }); - inject((_$httpBackend_, _ngRestAdapter_, _$http_, _$q_, _$exceptionHandler_) => { + inject((_$httpBackend_, _ngRestAdapter_, _$http_, _$q_, _$exceptionHandler_, _$rootScope_) => { if (!ngRestAdapterService){ $httpBackend = _$httpBackend_; @@ -89,6 +90,7 @@ describe('Service tests', () => { $http = _$http_; $q = _$q_; $exceptionHandler = _$exceptionHandler_ + $rootScope = _$rootScope_; } }); @@ -116,71 +118,105 @@ describe('Service tests', () => { email: seededChance.email, }; - it('should complete a GET request when called', () => { + it('should complete a GET request when called', (done) => { $httpBackend.expectGET('/api/any').respond('ok'); - let responsePromise = ngRestAdapterService.get('/any'); - $httpBackend.flush(); - - expect(responsePromise).eventually.to.be.instanceOf(Object); + expect(responsePromise).eventually.to.be.instanceOf(Object).and.notify(done); + $rootScope.$apply(); }); - it('should complete a HEAD request when called', () => { + it('should complete a HEAD request when called', (done) => { $httpBackend.expectHEAD('/api/any').respond(200); let responsePromise = ngRestAdapterService.head('/any'); $httpBackend.flush(); - expect(responsePromise).eventually.to.be.fulfilled; + expect(responsePromise).eventually.to.be.fulfilled.and.notify(done); + $rootScope.$apply(); }); - it('should complete an OPTIONS request when called', () => { + it('should complete an OPTIONS request when called', (done) => { $httpBackend.expect('OPTIONS', '/api/any').respond(200); let responsePromise = ngRestAdapterService.options('/any'); $httpBackend.flush(); - expect(responsePromise).eventually.to.be.fulfilled; + expect(responsePromise).eventually.to.be.fulfilled.and.notify(done); + $rootScope.$apply(); }); - it('should complete a PUT request when called', () => { + it('should complete a PUT request when called', (done) => { $httpBackend.expectPUT('/api/any', testData).respond(200); let responsePromise = ngRestAdapterService.put('/any', testData); $httpBackend.flush(); - expect(responsePromise).eventually.to.be.fulfilled; + expect(responsePromise).eventually.to.be.fulfilled.and.notify(done); + $rootScope.$apply(); }); - it('should complete a POST request when called', () => { + it('should complete a POST request when called', (done) => { $httpBackend.expectPOST('/api/any', testData).respond(200); let responsePromise = ngRestAdapterService.post('/any', testData); $httpBackend.flush(); - expect(responsePromise).eventually.to.be.fulfilled; + expect(responsePromise).eventually.to.be.fulfilled.and.notify(done); + $rootScope.$apply(); }); - it('should complete a PATCH request when called', () => { + it('should complete a PATCH request when called', (done) => { $httpBackend.expectPATCH('/api/any', testData).respond(200); let responsePromise = ngRestAdapterService.patch('/any', testData); $httpBackend.flush(); - expect(responsePromise).eventually.to.be.fulfilled; + expect(responsePromise).eventually.to.be.fulfilled.and.notify(done); + $rootScope.$apply(); }); - it('should complete a DELETE request when called', () => { + it('should complete a DELETE request when called', (done) => { $httpBackend.expectDELETE('/api/any').respond(200); let responsePromise = ngRestAdapterService.remove('/any', testData); $httpBackend.flush(); - expect(responsePromise).eventually.to.be.fulfilled; + expect(responsePromise).eventually.to.be.fulfilled.and.notify(done); + $rootScope.$apply(); }); }); + + describe('Api responses', () => { + + it('should return an api response with config.isBaseUrl set to true when using the base url', (done) => { + + $httpBackend.expectGET('/api/any').respond('ok'); + + let baseResponsePromise = ngRestAdapterService.get('/any'); + + $httpBackend.flush(); + + expect(baseResponsePromise).to.eventually.have.deep.property('config.isBaseUrl', true).and.notify(done); + $rootScope.$apply(); + }); + + it('should return an api response with config.isBaseUrl set to false when using a custom url', (done) => { + + $httpBackend.expectGET('/other/any').respond('ok'); + + let otherResponsePromise = ngRestAdapterService.api('/other').get('/any'); + + $httpBackend.flush(); + + expect(otherResponsePromise).to.eventually.have.deep.property('config.isBaseUrl', false).and.notify(done); + $rootScope.$apply(); + }); + + + }); + describe('Headers', () => { - it('should add custom headers to a request', () => { + it('should add custom headers to a request', (done) => { let testHeaders = { key1: 'Test-Header1', @@ -211,11 +247,12 @@ describe('Service tests', () => { $httpBackend.flush(); - expect(responsePromise).eventually.to.be.fulfilled; + expect(responsePromise).eventually.to.be.fulfilled.and.notify(done); + $rootScope.$apply(); }); - it('should have `Content-Type` header when data is provided', () => { + it('should have `Content-Type` header when data is provided', (done) => { let data = { name : seededChance.name, @@ -230,7 +267,8 @@ describe('Service tests', () => { $httpBackend.flush(); - expect(responsePromise).eventually.to.be.fulfilled; + expect(responsePromise).eventually.to.be.fulfilled.and.notify(done); + $rootScope.$apply(); }) @@ -240,7 +278,7 @@ describe('Service tests', () => { describe('Custom config', () => { - it('should be able to override the $http config', () => { + it('should be able to override the $http config', (done) => { $httpBackend.expectGET('/api/any?foo=bar', (headers) => { return headers['Accept'] == 'text/csv'; @@ -256,7 +294,8 @@ describe('Service tests', () => { }); $httpBackend.flush(); - expect(responsePromise).eventually.to.be.fulfilled; + expect(responsePromise).eventually.to.be.fulfilled.and.notify(done); + $rootScope.$apply(); }); @@ -297,7 +336,7 @@ describe('Service tests', () => { }; - it('should respond with error when no error handler is set', () => { + it('should respond with error when no error handler is set', (done) => { $httpBackend.expectGET('/api/any').respond(401); let response = ngRestAdapterService.get('/any'); //try to get a resource @@ -305,7 +344,8 @@ describe('Service tests', () => { $httpBackend.flush(); expect(errorHandlerSpy.called).to.be.false; - expect(response).eventually.to.be.rejected; + expect(response).eventually.to.be.rejected.and.notify(done); + $rootScope.$apply(); }); it('should be able to register an api error handler factory', () => { @@ -441,7 +481,7 @@ describe('Service tests', () => { }); - it('should allow the $http service to be used as normal (success)', () => { + it('should allow the $http service to be used as normal (success)', (done) => { (ngRestAdapterService).apiErrorHandler = null; //unset the error handler (normally not allowed) @@ -452,12 +492,13 @@ describe('Service tests', () => { let httpPromise = $http.get('/any'); - expect(httpPromise).eventually.to.be.fulfilled.and.have.deep.property('data', 'ok'); $httpBackend.flush(); expect($exceptionHandler.errors).to.be.empty; //no errors initially + expect(httpPromise).eventually.to.be.fulfilled.and.have.deep.property('data', 'ok').and.notify(done); + $rootScope.$apply(); }); it ('should be able to set interceptor routes', () => { @@ -472,46 +513,49 @@ describe('Service tests', () => { }); - it('should not intercept excluded (by regex) domains', () => { + it('should not intercept excluded (by regex) domains', (done) => { $httpBackend.expectGET('/excluded/regex/example').respond(500, 'error'); let httpPromise = $http.get('/excluded/regex/example'); - expect(httpPromise).eventually.to.be.rejected.and.have.deep.property('data', 'error'); $httpBackend.flush(); expect(spiedHandler).not.to.have.been.called; + expect(httpPromise).eventually.to.be.rejected.and.have.deep.property('data', 'error').and.notify(done); + $rootScope.$apply(); }); - it('should not intercept excluded (by string match) domains', () => { + it('should not intercept excluded (by string match) domains', (done) => { $httpBackend.expectGET('/excluded/string/example').respond(500, 'error'); let httpPromise = $http.get('/excluded/string/example'); - expect(httpPromise).eventually.to.be.rejected.and.have.deep.property('data', 'error'); $httpBackend.flush(); expect(spiedHandler).not.to.have.been.called; + expect(httpPromise).eventually.to.be.rejected.and.have.deep.property('data', 'error').and.notify(done); + $rootScope.$apply(); }); - it('should allow the $http service to be used as normal (error intercepted)', () => { + it('should allow the $http service to be used as normal (error intercepted)', (done) => { $httpBackend.expectGET('/any').respond(500, 'error'); //the original base let httpPromise = $http.get('/any'); - expect(httpPromise).eventually.to.be.rejected.and.have.deep.property('data', 'error'); $httpBackend.flush(); expect(spiedHandler).to.have.been.calledOnce; //interceptor should have been called expect($exceptionHandler.errors).to.be.empty; //no errors after the fact + expect(httpPromise).eventually.to.be.rejected.and.have.deep.property('data', 'error').and.notify(done); + $rootScope.$apply(); });