aboutsummaryrefslogtreecommitdiffstats
path: root/test/ngResource/resourceSpec.js
diff options
context:
space:
mode:
authorjankuca2013-08-30 16:19:40 -0700
committerBrian Ford2013-10-02 17:03:53 -0700
commite36e28ebd4a6c144e47d11fba8e211d8d5a9d03e (patch)
treecf226669f97d5b16cc37b931ed2b70a5fdaf1f78 /test/ngResource/resourceSpec.js
parent5b8c78843e8d62a7a67cead8bf04c76aa8ee411d (diff)
downloadangular.js-e36e28ebd4a6c144e47d11fba8e211d8d5a9d03e.tar.bz2
fix($resource): pass transformed value to both callbacks and promises
Closes #3817
Diffstat (limited to 'test/ngResource/resourceSpec.js')
-rw-r--r--test/ngResource/resourceSpec.js34
1 files changed, 33 insertions, 1 deletions
diff --git a/test/ngResource/resourceSpec.js b/test/ngResource/resourceSpec.js
index c49ac9e0..2bf40a2c 100644
--- a/test/ngResource/resourceSpec.js
+++ b/test/ngResource/resourceSpec.js
@@ -630,6 +630,38 @@ describe("resource", function() {
expect(cc.url).toBe('/new-id');
});
+
+ it('should pass the same transformed value to success callbacks and to promises', function() {
+ $httpBackend.expect('GET', '/CreditCard').respond(200, { value: 'original' });
+
+ var transformResponse = function (response) {
+ return { value: 'transformed' };
+ };
+
+ var CreditCard = $resource('/CreditCard', {}, {
+ call: {
+ method: 'get',
+ interceptor: { response: transformResponse }
+ }
+ });
+
+ var successValue,
+ promiseValue;
+
+ var cc = new CreditCard({ name: 'Me' });
+
+ var req = cc.$call({}, function (result) {
+ successValue = result;
+ });
+ req.then(function (result) {
+ promiseValue = result;
+ });
+
+ $httpBackend.flush();
+ expect(successValue).toEqual({ value: 'transformed' });
+ expect(promiseValue).toEqual({ value: 'transformed' });
+ expect(successValue).toBe(promiseValue);
+ });
});
@@ -1084,4 +1116,4 @@ describe('resource', function() {
});
-}); \ No newline at end of file
+});