aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Resource.js2
-rw-r--r--test/ResourceSpec.js11
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(){