diff options
Diffstat (limited to 'test/service/xhr.bulkSpec.js')
| -rw-r--r-- | test/service/xhr.bulkSpec.js | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/test/service/xhr.bulkSpec.js b/test/service/xhr.bulkSpec.js index bc8d03f8..adcb61fa 100644 --- a/test/service/xhr.bulkSpec.js +++ b/test/service/xhr.bulkSpec.js @@ -4,13 +4,11 @@ describe('$xhr.bulk', function() { var scope, $browser, $browserXhr, $log, $xhrBulk, $xhrError, log; beforeEach(function(){ - scope = angular.scope({}, angular.service, { - '$xhr.error': $xhrError = jasmine.createSpy('$xhr.error'), - '$log': $log = {} - }); + scope = angular.scope({}, null, {'$xhr.error': $xhrError = jasmine.createSpy('$xhr.error')}); $browser = scope.$service('$browser'); $browserXhr = $browser.xhr; $xhrBulk = scope.$service('$xhr.bulk'); + $log = scope.$service('$log'); log = ''; }); @@ -60,12 +58,29 @@ describe('$xhr.bulk', function() { $browserXhr.flush(); expect($xhrError).toHaveBeenCalled(); - var cb = $xhrError.mostRecentCall.args[0].callback; + var cb = $xhrError.mostRecentCall.args[0].success; expect(typeof cb).toEqual($function); expect($xhrError).toHaveBeenCalledWith( - {url:'/req1', method:'GET', data:null, callback:cb}, - {status:404, response:'NotFound'}); + {url: '/req1', method: 'GET', data: null, success: cb}, + {status: 404, response: 'NotFound'}); expect(log).toEqual('"second";DONE'); }); + + it('should handle non 200 status code by calling error callback if provided', function() { + var callback = jasmine.createSpy('error'); + + $xhrBulk.urls['/'] = {match: /.*/}; + $xhrBulk('GET', '/req1', null, noop, callback); + + $browserXhr.expectPOST('/', { + requests:[{method: 'GET', url: '/req1', data: null}] + }).respond([{status: 404, response: 'NotFound'}]); + + $xhrBulk.flush(); + $browserXhr.flush(); + + expect($xhrError).not.toHaveBeenCalled(); + expect(callback).toHaveBeenCalledWith(404, 'NotFound'); + }); }); |
