diff options
| -rw-r--r-- | src/Resource.js | 2 | ||||
| -rw-r--r-- | test/ResourceSpec.js | 11 |
2 files changed, 10 insertions, 3 deletions
diff --git a/src/Resource.js b/src/Resource.js index e2cd5a0e..d9121794 100644 --- a/src/Resource.js +++ b/src/Resource.js @@ -96,7 +96,7 @@ ResourceFactory.prototype = { route.url(extend({}, action.params || {}, extractParams(data), params)), data, function(status, response, clear) { - if (status == 200) { + if (200 <= status && status < 300) { if (response) { if (action.isArray) { value.length = 0; diff --git a/test/ResourceSpec.js b/test/ResourceSpec.js index e055beab..fe6c3fdf 100644 --- a/test/ResourceSpec.js +++ b/test/ResourceSpec.js @@ -139,13 +139,20 @@ describe("resource", function() { expect(log).toEqual('cb;'); }); - it('should delete resource', function(){ - xhr.expectDELETE("/CreditCard/123").respond({}); + it('should delete resource and call callback', function(){ + xhr.expectDELETE("/CreditCard/123").respond(200, {}); CreditCard.remove({id:123}, callback); expect(callback).wasNotCalled(); xhr.flush(); nakedExpect(callback.mostRecentCall.args).toEqual([{}]); + + callback.reset(); + xhr.expectDELETE("/CreditCard/333").respond(204, null); + CreditCard.remove({id:333}, callback); + expect(callback).wasNotCalled(); + xhr.flush(); + nakedExpect(callback.mostRecentCall.args).toEqual([{}]); }); it('should post charge verb', function(){ |
