aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcello Nuccio2011-09-02 15:50:10 +0200
committerIgor Minar2011-09-27 00:44:10 +0200
commitbf5e5f7bc9ebc7dc6cf8fdf3c4923498b22a8654 (patch)
tree3ad51890c36f8a099637bd91702c9345e7ce6f3b
parent2e9fed7b6c5f8c738406c4e9e65300e5d69a113a (diff)
downloadangular.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.js2
-rw-r--r--test/ResourceSpec.js9
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'});