aboutsummaryrefslogtreecommitdiffstats
path: root/test/ngResource
diff options
context:
space:
mode:
Diffstat (limited to 'test/ngResource')
-rw-r--r--test/ngResource/resourceSpec.js49
1 files changed, 48 insertions, 1 deletions
diff --git a/test/ngResource/resourceSpec.js b/test/ngResource/resourceSpec.js
index 52395297..19456f01 100644
--- a/test/ngResource/resourceSpec.js
+++ b/test/ngResource/resourceSpec.js
@@ -807,7 +807,6 @@ describe("resource", function() {
});
});
-
it('should transform request/response', function() {
var Person = $resource('/Person/:id', {}, {
save: {
@@ -1034,3 +1033,51 @@ describe("resource", function() {
});
});
});
+
+describe('resource', function() {
+ var $httpBackend, $resource;
+
+ beforeEach(module(function($exceptionHandlerProvider) {
+ $exceptionHandlerProvider.mode('log');
+ }));
+
+ beforeEach(module('ngResource'));
+
+ beforeEach(inject(function($injector) {
+ $httpBackend = $injector.get('$httpBackend');
+ $resource = $injector.get('$resource');
+ }));
+
+
+ it('should fail if action expects an object but response is an array', function() {
+ var successSpy = jasmine.createSpy('successSpy');
+ var failureSpy = jasmine.createSpy('failureSpy');
+
+ $httpBackend.expect('GET', '/Customer/123').respond({id: 'abc'});
+
+ $resource('/Customer/123').query()
+ .$promise.then(successSpy, function(e) { failureSpy(e.message); });
+ $httpBackend.flush();
+
+ expect(successSpy).not.toHaveBeenCalled();
+ expect(failureSpy).toHaveBeenCalledWith(
+ '[ngResource:badcfg] Error in resource configuration. Expected response to contain an array but got an object');
+ });
+
+ it('should fail if action expects an array but response is an object', function() {
+ var successSpy = jasmine.createSpy('successSpy');
+ var failureSpy = jasmine.createSpy('failureSpy');
+
+ $httpBackend.expect('GET', '/Customer/123').respond([1,2,3]);
+
+ $resource('/Customer/123').get()
+ .$promise.then(successSpy, function(e) { failureSpy(e.message); });
+ $httpBackend.flush();
+
+ expect(successSpy).not.toHaveBeenCalled();
+ expect(failureSpy).toHaveBeenCalledWith(
+ '[ngResource:badcfg] Error in resource configuration. Expected response to contain an object but got an array');
+ });
+
+
+}); \ No newline at end of file