diff options
| author | jankuca | 2013-08-30 16:19:40 -0700 |
|---|---|---|
| committer | Brian Ford | 2013-10-02 17:03:53 -0700 |
| commit | e36e28ebd4a6c144e47d11fba8e211d8d5a9d03e (patch) | |
| tree | cf226669f97d5b16cc37b931ed2b70a5fdaf1f78 /test/ngResource/resourceSpec.js | |
| parent | 5b8c78843e8d62a7a67cead8bf04c76aa8ee411d (diff) | |
| download | angular.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.js | 34 |
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 +}); |
