diff options
| author | Marcello Nuccio | 2011-09-02 15:50:10 +0200 | 
|---|---|---|
| committer | Igor Minar | 2011-09-27 00:44:10 +0200 | 
| commit | bf5e5f7bc9ebc7dc6cf8fdf3c4923498b22a8654 (patch) | |
| tree | 3ad51890c36f8a099637bd91702c9345e7ce6f3b | |
| parent | 2e9fed7b6c5f8c738406c4e9e65300e5d69a113a (diff) | |
| download | angular.js-bf5e5f7bc9ebc7dc6cf8fdf3c4923498b22a8654.tar.bz2 | |
fix($resource): action defaults should override resource defaults
defaults definned per action should take precedence over defaults
defined for the whole resource.
This is potentialy a BREAKING CHANGE in case someone relied on the buggy
behavior.
| -rw-r--r-- | src/Resource.js | 2 | ||||
| -rw-r--r-- | test/ResourceSpec.js | 9 | 
2 files changed, 10 insertions, 1 deletions
| diff --git a/src/Resource.js b/src/Resource.js index 74d952ed..045ab3a2 100644 --- a/src/Resource.js +++ b/src/Resource.js @@ -109,7 +109,7 @@ ResourceFactory.prototype = {          var value = this instanceof Resource ? this : (action.isArray ? [] : new Resource(data));          self.xhr(            action.method, -          route.url(extend({}, action.params || {}, extractParams(data), params)), +          route.url(extend({}, extractParams(data), action.params || {}, params)),            data,            function(status, response) {              if (response) { diff --git a/test/ResourceSpec.js b/test/ResourceSpec.js index c289ae89..b6c116f7 100644 --- a/test/ResourceSpec.js +++ b/test/ResourceSpec.js @@ -75,6 +75,15 @@ describe("resource", function() {      nakedExpect(item).toEqual({id:'abc'});    }); +  it("should build resource with action default param overriding default param", function(){ +    xhr.expectGET('/Customer/123').respond({id:'abc'}); +    var TypeItem = resource.route('/:type/:typeId', {type: 'Order'}, +                                  {get: {method: 'GET', params: {type: 'Customer'}}}); +    var item = TypeItem.get({typeId:123}); +    xhr.flush(); +    nakedExpect(item).toEqual({id:'abc'}); +  }); +    it("should create resource", function(){      xhr.expectPOST('/CreditCard', {name:'misko'}).respond({id:123, name:'misko'}); | 
