aboutsummaryrefslogtreecommitdiffstats
path: root/test/ResourceSpec.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/ResourceSpec.js')
-rw-r--r--test/ResourceSpec.js21
1 files changed, 17 insertions, 4 deletions
diff --git a/test/ResourceSpec.js b/test/ResourceSpec.js
index 81519f0f..7bba9357 100644
--- a/test/ResourceSpec.js
+++ b/test/ResourceSpec.js
@@ -244,22 +244,35 @@ describe("resource", function() {
describe('failure mode', function() {
var ERROR_CODE = 500,
- ERROR_RESPONSE = 'Server Error';
+ ERROR_RESPONSE = 'Server Error',
+ errorCB;
beforeEach(function() {
- xhr.expectGET('/CreditCard/123').respond(ERROR_CODE, ERROR_RESPONSE);
+ errorCB = jasmine.createSpy();
});
it('should report error when non 2xx if error callback is not provided', function() {
+ xhr.expectGET('/CreditCard/123').respond(ERROR_CODE, ERROR_RESPONSE);
CreditCard.get({id:123});
xhr.flush();
expect($xhrErr).toHaveBeenCalled();
});
it('should call the error callback if provided on non 2xx response', function() {
- CreditCard.get({id:123}, noop, callback);
+ xhr.expectGET('/CreditCard/123').respond(ERROR_CODE, ERROR_RESPONSE);
+ CreditCard.get({id:123}, callback, errorCB);
+ xhr.flush();
+ expect(errorCB).toHaveBeenCalledWith(500, ERROR_RESPONSE);
+ expect(callback).not.toHaveBeenCalled();
+ expect($xhrErr).not.toHaveBeenCalled();
+ });
+
+ it('should call the error callback if provided on non 2xx response', function() {
+ xhr.expectGET('/CreditCard').respond(ERROR_CODE, ERROR_RESPONSE);
+ CreditCard.get(callback, errorCB);
xhr.flush();
- expect(callback).toHaveBeenCalledWith(500, ERROR_RESPONSE);
+ expect(errorCB).toHaveBeenCalledWith(500, ERROR_RESPONSE);
+ expect(callback).not.toHaveBeenCalled();
expect($xhrErr).not.toHaveBeenCalled();
});
});