angularjs-rails-resource 2.2.2 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/CHANGELOG.md +7 -0
- data/README.md +89 -2
- data/bower.json +2 -2
- data/karma.conf.js +2 -5
- data/lib/angularjs-rails-resource/version.rb +1 -1
- data/package-lock.json +6790 -0
- data/package.json +19 -17
- data/test/unit/angularjs/rails/extensions/snapshotsSpec.js +62 -42
- data/test/unit/angularjs/rails/resourceSpec.js +175 -14
- data/vendor/assets/javascripts/angularjs/rails/resource/extensions/snapshots.js +16 -16
- data/vendor/assets/javascripts/angularjs/rails/resource/resource.js +67 -9
- data/vendor/assets/javascripts/angularjs/rails/resource/serialization.js +62 -26
- metadata +3 -16
- data/test/lib/angular/angular-cookies.js +0 -202
- data/test/lib/angular/angular-loader.js +0 -410
- data/test/lib/angular/angular-mocks.js +0 -2116
- data/test/lib/angular/angular-route.js +0 -911
- data/test/lib/angular/angular-sanitize.js +0 -622
- data/test/lib/angular/angular-scenario.js +0 -32544
- data/test/lib/angular/angular.js +0 -20539
data/package.json
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"name": "angularjs-rails-resource",
|
3
|
-
"description"
|
4
|
-
"version": "2.
|
5
|
-
"main"
|
6
|
-
"homepage"
|
7
|
-
"author"
|
3
|
+
"description": "A resource factory inspired by $resource from AngularJS",
|
4
|
+
"version": "2.3.0",
|
5
|
+
"main": "angularjs-rails-resource.min.js",
|
6
|
+
"homepage": "https://github.com/FineLinePrototyping/angularjs-rails-resource.git",
|
7
|
+
"author": "",
|
8
8
|
"repository": {
|
9
9
|
"type": "git",
|
10
10
|
"url": "https://github.com/FineLinePrototyping/angularjs-rails-resource.git"
|
@@ -14,29 +14,31 @@
|
|
14
14
|
"resources"
|
15
15
|
],
|
16
16
|
"dependencies": {
|
17
|
-
"angular": "^1.
|
17
|
+
"angular": "^1.3"
|
18
18
|
},
|
19
19
|
"devDependencies": {
|
20
|
+
"angular-mocks": "^1.3",
|
20
21
|
"grunt": "~0.4.1",
|
21
|
-
"grunt-
|
22
|
-
"grunt-contrib-
|
22
|
+
"grunt-bump": "~0.0.13",
|
23
|
+
"grunt-contrib-clean": "~0.5.0",
|
24
|
+
"grunt-contrib-compress": "~0.5.2",
|
23
25
|
"grunt-contrib-concat": "~0.3.0",
|
24
26
|
"grunt-contrib-copy": "~0.4.1",
|
25
|
-
"grunt-contrib-
|
27
|
+
"grunt-contrib-jshint": "~0.6.0",
|
28
|
+
"grunt-contrib-uglify": "~0.2.2",
|
26
29
|
"grunt-contrib-watch": "~0.5.1",
|
27
|
-
"
|
28
|
-
"
|
29
|
-
"karma": "~0.10",
|
30
|
+
"karma": "~2.0",
|
31
|
+
"karma-chrome-launcher": "~2.2",
|
30
32
|
"karma-jasmine": "~0.1",
|
31
|
-
"karma-
|
32
|
-
"karma-phantomjs-launcher": "~0
|
33
|
-
"
|
33
|
+
"karma-junit-reporter": "~1.2",
|
34
|
+
"karma-phantomjs-launcher": "~1.0",
|
35
|
+
"phantomjs-prebuilt": ">=2",
|
34
36
|
"q": "~0.9.2",
|
35
37
|
"q-io": "~1.10.6",
|
36
38
|
"qq": "~0.3.5"
|
37
39
|
},
|
38
40
|
"scripts": {
|
39
|
-
"test": "./node_modules/.bin/karma start --single-run --browsers PhantomJS"
|
41
|
+
"test": "PHANTOMJS_BIN=./node_modules/.bin/phantomjs ./node_modules/.bin/karma start --single-run --browsers PhantomJS"
|
40
42
|
},
|
41
43
|
"licenses": [
|
42
44
|
{
|
@@ -44,4 +46,4 @@
|
|
44
46
|
"url": "https://github.com/FineLinePrototyping/angularjs-rails-resource.js/blob/master/LICENSE"
|
45
47
|
}
|
46
48
|
]
|
47
|
-
}
|
49
|
+
}
|
@@ -27,12 +27,12 @@ describe('RailsResource.snapshots', function () {
|
|
27
27
|
book = new Book(data);
|
28
28
|
expect(book.snapshot()).toBe(0);
|
29
29
|
|
30
|
-
expect(book
|
31
|
-
expect(book
|
32
|
-
expect(book
|
30
|
+
expect(book.$$snapshots).toBeDefined();
|
31
|
+
expect(book.$$snapshots.length).toBe(1);
|
32
|
+
expect(book.$$snapshots[0].$$snapshots).toBeUndefined();
|
33
33
|
expect(book).toEqualData(data);
|
34
|
-
expect(book
|
35
|
-
expect(book
|
34
|
+
expect(book.$$snapshots[0].$key).toBe('1234');
|
35
|
+
expect(book.$$snapshots[0]).toEqualData(data);
|
36
36
|
});
|
37
37
|
|
38
38
|
it('should store deep copy', function () {
|
@@ -49,9 +49,9 @@ describe('RailsResource.snapshots', function () {
|
|
49
49
|
book = new Book(data);
|
50
50
|
book.snapshot();
|
51
51
|
|
52
|
-
expect(book
|
53
|
-
expect(book
|
54
|
-
expect(book
|
52
|
+
expect(book.$$snapshots[0].author).toBeDefined();
|
53
|
+
expect(book.$$snapshots[0].author.id).toBe(1);
|
54
|
+
expect(book.$$snapshots[0]).toEqualData(data);
|
55
55
|
});
|
56
56
|
|
57
57
|
it('should store multiple snapshots', function () {
|
@@ -63,11 +63,11 @@ describe('RailsResource.snapshots', function () {
|
|
63
63
|
book.$key = '1236';
|
64
64
|
expect(book.snapshot()).toBe(2);
|
65
65
|
|
66
|
-
expect(book
|
67
|
-
expect(book
|
68
|
-
expect(book
|
69
|
-
expect(book
|
70
|
-
expect(book
|
66
|
+
expect(book.$$snapshots).toBeDefined();
|
67
|
+
expect(book.$$snapshots.length).toBe(3);
|
68
|
+
expect(book.$$snapshots[0].$key).toBe('1234');
|
69
|
+
expect(book.$$snapshots[1].$key).toBe('1235');
|
70
|
+
expect(book.$$snapshots[2].$key).toBe('1236');
|
71
71
|
});
|
72
72
|
|
73
73
|
it('should rollback single version', function () {
|
@@ -80,8 +80,8 @@ describe('RailsResource.snapshots', function () {
|
|
80
80
|
book.rollback();
|
81
81
|
|
82
82
|
expect(book.$key).toBe('1235');
|
83
|
-
expect(book
|
84
|
-
expect(book
|
83
|
+
expect(book.$$snapshots).toBeDefined();
|
84
|
+
expect(book.$$snapshots.length).toBe(1);
|
85
85
|
});
|
86
86
|
|
87
87
|
it('should rollback deep copy', function () {
|
@@ -142,13 +142,13 @@ describe('RailsResource.snapshots', function () {
|
|
142
142
|
book.rollback();
|
143
143
|
|
144
144
|
expect(book.$key).toBe('1235');
|
145
|
-
expect(book
|
146
|
-
expect(book
|
145
|
+
expect(book.$$snapshots).toBeDefined();
|
146
|
+
expect(book.$$snapshots.length).toBe(1);
|
147
147
|
book.rollback();
|
148
148
|
|
149
149
|
expect(book.$key).toBe('1234');
|
150
|
-
expect(book
|
151
|
-
expect(book
|
150
|
+
expect(book.$$snapshots).toBeDefined();
|
151
|
+
expect(book.$$snapshots.length).toBe(0);
|
152
152
|
});
|
153
153
|
|
154
154
|
|
@@ -164,8 +164,8 @@ describe('RailsResource.snapshots', function () {
|
|
164
164
|
book.rollback(2);
|
165
165
|
|
166
166
|
expect(book.$key).toBe('1235');
|
167
|
-
expect(book
|
168
|
-
expect(book
|
167
|
+
expect(book.$$snapshots).toBeDefined();
|
168
|
+
expect(book.$$snapshots.length).toBe(1);
|
169
169
|
});
|
170
170
|
|
171
171
|
it('should not change resource on rollback if no snapshots saved', function () {
|
@@ -188,8 +188,8 @@ describe('RailsResource.snapshots', function () {
|
|
188
188
|
book.rollback(-1);
|
189
189
|
|
190
190
|
expect(book.$key).toBe('1234');
|
191
|
-
expect(book
|
192
|
-
expect(book
|
191
|
+
expect(book.$$snapshots).toBeDefined();
|
192
|
+
expect(book.$$snapshots.length).toBe(0);
|
193
193
|
});
|
194
194
|
|
195
195
|
it('should roll back to the first snapshot when versions exceeds available snapshots', function () {
|
@@ -203,8 +203,8 @@ describe('RailsResource.snapshots', function () {
|
|
203
203
|
book.rollback(1000);
|
204
204
|
|
205
205
|
expect(book.$key).toBe('1234');
|
206
|
-
expect(book
|
207
|
-
expect(book
|
206
|
+
expect(book.$$snapshots).toBeDefined();
|
207
|
+
expect(book.$$snapshots.length).toBe(0);
|
208
208
|
});
|
209
209
|
|
210
210
|
it('should roll back to version in middle', function () {
|
@@ -218,8 +218,8 @@ describe('RailsResource.snapshots', function () {
|
|
218
218
|
book.rollbackTo(1);
|
219
219
|
|
220
220
|
expect(book.$key).toBe('1235');
|
221
|
-
expect(book
|
222
|
-
expect(book
|
221
|
+
expect(book.$$snapshots).toBeDefined();
|
222
|
+
expect(book.$$snapshots.length).toBe(1);
|
223
223
|
});
|
224
224
|
|
225
225
|
it('should roll back to first version', function () {
|
@@ -233,8 +233,8 @@ describe('RailsResource.snapshots', function () {
|
|
233
233
|
book.rollbackTo(0);
|
234
234
|
|
235
235
|
expect(book.$key).toBe('1234');
|
236
|
-
expect(book
|
237
|
-
expect(book
|
236
|
+
expect(book.$$snapshots).toBeDefined();
|
237
|
+
expect(book.$$snapshots.length).toBe(0);
|
238
238
|
});
|
239
239
|
|
240
240
|
it('should roll back to last version when version exceeds available versions', function () {
|
@@ -249,8 +249,8 @@ describe('RailsResource.snapshots', function () {
|
|
249
249
|
book.rollbackTo(100);
|
250
250
|
|
251
251
|
expect(book.$key).toBe('1236');
|
252
|
-
expect(book
|
253
|
-
expect(book
|
252
|
+
expect(book.$$snapshots).toBeDefined();
|
253
|
+
expect(book.$$snapshots.length).toBe(2);
|
254
254
|
});
|
255
255
|
|
256
256
|
it('should reset snapshots on create', function () {
|
@@ -264,8 +264,8 @@ describe('RailsResource.snapshots', function () {
|
|
264
264
|
$httpBackend.flush();
|
265
265
|
|
266
266
|
expect(book.$key).toBe('1235');
|
267
|
-
expect(book
|
268
|
-
expect(book
|
267
|
+
expect(book.$$snapshots).toBeDefined();
|
268
|
+
expect(book.$$snapshots.length).toBe(0);
|
269
269
|
});
|
270
270
|
|
271
271
|
it('should be able to save after rollback', function () {
|
@@ -280,8 +280,28 @@ describe('RailsResource.snapshots', function () {
|
|
280
280
|
$httpBackend.flush();
|
281
281
|
|
282
282
|
expect(book.$key).toBe('1234');
|
283
|
-
expect(book
|
284
|
-
expect(book
|
283
|
+
expect(book.$$snapshots).toBeDefined();
|
284
|
+
expect(book.$$snapshots.length).toBe(0);
|
285
|
+
});
|
286
|
+
|
287
|
+
it('should not submit $$snapshots', function () {
|
288
|
+
var book, data = {id: 1, $key: '1234', name: 'The Winds of Winter'};
|
289
|
+
book = new Book(data);
|
290
|
+
book.snapshot();
|
291
|
+
book.$key = '1235';
|
292
|
+
|
293
|
+
$httpBackend.whenPUT('/books/1', function(putData) {
|
294
|
+
var json = JSON.parse(putData);
|
295
|
+
expect(json.book.$$snapshots).toBeUndefined();
|
296
|
+
return true;
|
297
|
+
}).respond(200, {book: {id: 1}});
|
298
|
+
|
299
|
+
book.save();
|
300
|
+
$httpBackend.flush();
|
301
|
+
|
302
|
+
expect(book.$key).toBe('1235');
|
303
|
+
expect(book.$$snapshots).toBeDefined();
|
304
|
+
expect(book.$$snapshots.length).toBe(0);
|
285
305
|
});
|
286
306
|
|
287
307
|
it('should reset snapshots on update', function () {
|
@@ -295,8 +315,8 @@ describe('RailsResource.snapshots', function () {
|
|
295
315
|
$httpBackend.flush();
|
296
316
|
|
297
317
|
expect(book.$key).toBe('1235');
|
298
|
-
expect(book
|
299
|
-
expect(book
|
318
|
+
expect(book.$$snapshots).toBeDefined();
|
319
|
+
expect(book.$$snapshots.length).toBe(0);
|
300
320
|
});
|
301
321
|
|
302
322
|
it('should reset snapshots on delete', function () {
|
@@ -310,8 +330,8 @@ describe('RailsResource.snapshots', function () {
|
|
310
330
|
$httpBackend.flush();
|
311
331
|
|
312
332
|
expect(book.$key).toBe('1235');
|
313
|
-
expect(book
|
314
|
-
expect(book
|
333
|
+
expect(book.$$snapshots).toBeDefined();
|
334
|
+
expect(book.$$snapshots.length).toBe(0);
|
315
335
|
});
|
316
336
|
|
317
337
|
it('should call rollback callback on rollback', function () {
|
@@ -397,7 +417,7 @@ describe('RailsResource.snapshots', function () {
|
|
397
417
|
book.snapshot();
|
398
418
|
book.author.name = 'George Orwell';
|
399
419
|
|
400
|
-
expect(book
|
420
|
+
expect(book.$$snapshots[0].author).not.toBeDefined();
|
401
421
|
expect(book.author).toEqualData({id: 1, name: 'George Orwell'});
|
402
422
|
|
403
423
|
book.rollback();
|
@@ -435,8 +455,8 @@ describe('RailsResource.snapshots', function () {
|
|
435
455
|
book.$key = '1235';
|
436
456
|
book.author.name = 'George Orwell';
|
437
457
|
|
438
|
-
expect(book
|
439
|
-
expect(book
|
458
|
+
expect(book.$$snapshots[0].author).toBeDefined();
|
459
|
+
expect(book.$$snapshots[0].$key).not.toBeDefined();
|
440
460
|
expect(book.$key).toBe('1235');
|
441
461
|
expect(book.author).toEqualData({id: 1, name: 'George Orwell'});
|
442
462
|
|
@@ -15,14 +15,15 @@ describe('railsResourceFactory', function () {
|
|
15
15
|
});
|
16
16
|
|
17
17
|
describe('singular', function() {
|
18
|
-
var $httpBackend, $rootScope, factory, Test, testInterceptor,
|
18
|
+
var $httpBackend, $timeout, $rootScope, factory, Test, testInterceptor,
|
19
19
|
config = {
|
20
20
|
url: '/test',
|
21
21
|
name: 'test'
|
22
22
|
};
|
23
23
|
|
24
|
-
beforeEach(inject(function (_$httpBackend_, _$rootScope_, railsResourceFactory, railsTestInterceptor) {
|
24
|
+
beforeEach(inject(function (_$httpBackend_, _$timeout_, _$rootScope_, railsResourceFactory, railsTestInterceptor) {
|
25
25
|
$httpBackend = _$httpBackend_;
|
26
|
+
$timeout = _$timeout_;
|
26
27
|
$rootScope = _$rootScope_;
|
27
28
|
factory = railsResourceFactory;
|
28
29
|
Test = railsResourceFactory(config);
|
@@ -177,22 +178,24 @@ describe('railsResourceFactory', function () {
|
|
177
178
|
});
|
178
179
|
|
179
180
|
it('get should call failure callback when 404', function () {
|
180
|
-
|
181
|
+
inject(function ($exceptionHandler) {
|
182
|
+
var promise, success = false, failure = false;
|
181
183
|
|
182
|
-
|
184
|
+
$httpBackend.expectGET('/test/123').respond(404);
|
183
185
|
|
184
|
-
|
185
|
-
|
186
|
-
promise.then(function () {
|
187
|
-
success = true;
|
188
|
-
}, function () {
|
189
|
-
failure = true;
|
190
|
-
});
|
186
|
+
expect(promise = Test.get(123)).toBeDefined();
|
191
187
|
|
192
|
-
|
188
|
+
promise.then(function () {
|
189
|
+
success = true;
|
190
|
+
}, function () {
|
191
|
+
failure = true;
|
192
|
+
});
|
193
193
|
|
194
|
-
|
195
|
-
|
194
|
+
$httpBackend.flush();
|
195
|
+
expect($exceptionHandler.errors).toEqual([]);
|
196
|
+
expect(success).toBe(false);
|
197
|
+
expect(failure).toBe(true);
|
198
|
+
});
|
196
199
|
});
|
197
200
|
|
198
201
|
it('get with default params should add parameter abc=1', function () {
|
@@ -559,6 +562,164 @@ describe('railsResourceFactory', function () {
|
|
559
562
|
expect(Resource.configure(config)).toBeInstanceOf(Object);
|
560
563
|
});
|
561
564
|
|
565
|
+
it('get should catch exceptions on failure', function () {
|
566
|
+
inject(function ($exceptionHandler) {
|
567
|
+
var failure = false;
|
568
|
+
|
569
|
+
$httpBackend.expectGET('/test/123').respond(500);
|
570
|
+
|
571
|
+
Test.get(123).catch(function (response) { failure = true});
|
572
|
+
|
573
|
+
$httpBackend.flush();
|
574
|
+
expect($exceptionHandler.errors).toEqual([]);
|
575
|
+
expect(failure).toBeTruthy();
|
576
|
+
});
|
577
|
+
});
|
578
|
+
|
579
|
+
it('get should timeout after configured time', function () {
|
580
|
+
var promise, Resource, success = false, failure = false;
|
581
|
+
$httpBackend.expectGET('/test/123').respond(200, {test: {id: 123, abc: 'xyz'}});
|
582
|
+
|
583
|
+
Resource = factory(angular.extend({}, config, {
|
584
|
+
httpConfig: {
|
585
|
+
timeout: 5000
|
586
|
+
}
|
587
|
+
}));
|
588
|
+
promise = Resource.get(123);
|
589
|
+
promise.then(function () {
|
590
|
+
success = true;
|
591
|
+
}, function () {
|
592
|
+
failure = true;
|
593
|
+
});
|
594
|
+
|
595
|
+
$timeout.flush();
|
596
|
+
$httpBackend.verifyNoOutstandingExpectation();
|
597
|
+
$httpBackend.verifyNoOutstandingRequest();
|
598
|
+
expect(success).toBeFalsy();
|
599
|
+
expect(failure).toBeTruthy();
|
600
|
+
});
|
601
|
+
|
602
|
+
it('$http should abort after timeout promise resolved', function () {
|
603
|
+
inject(function ($q) {
|
604
|
+
var promise, success = false, failure = false,
|
605
|
+
timeoutDeferred = $q.defer();
|
606
|
+
$httpBackend.expectGET('/test/123').respond(200, {test: {id: 123, abc: 'xyz'}});
|
607
|
+
|
608
|
+
promise = Test.$http({method: 'get', url: Test.resourceUrl(123), timeout: timeoutDeferred.promise});
|
609
|
+
promise.then(function () {
|
610
|
+
success = true;
|
611
|
+
}, function () {
|
612
|
+
failure = true;
|
613
|
+
});
|
614
|
+
|
615
|
+
timeoutDeferred.resolve();
|
616
|
+
$rootScope.$digest();
|
617
|
+
$httpBackend.verifyNoOutstandingExpectation();
|
618
|
+
$httpBackend.verifyNoOutstandingRequest();
|
619
|
+
expect(success).toBeFalsy();
|
620
|
+
expect(failure).toBeTruthy();
|
621
|
+
});
|
622
|
+
});
|
623
|
+
|
624
|
+
it('get should abort after abort called', function () {
|
625
|
+
inject(function ($q) {
|
626
|
+
var promise, success = false, failure = false;
|
627
|
+
$httpBackend.expectGET('/test/123').respond(200, {test: {id: 123, abc: 'xyz'}});
|
628
|
+
|
629
|
+
promise = Test.get(123);
|
630
|
+
promise.then(function () {
|
631
|
+
success = true;
|
632
|
+
}, function () {
|
633
|
+
failure = true;
|
634
|
+
});
|
635
|
+
|
636
|
+
promise.abort();
|
637
|
+
$rootScope.$digest();
|
638
|
+
$httpBackend.verifyNoOutstandingExpectation();
|
639
|
+
$httpBackend.verifyNoOutstandingRequest();
|
640
|
+
expect(success).toBeFalsy();
|
641
|
+
expect(failure).toBeTruthy();
|
642
|
+
});
|
643
|
+
});
|
644
|
+
|
645
|
+
it('should have abort after chaining promise with then', function () {
|
646
|
+
inject(function ($q) {
|
647
|
+
var promise, success = false, failure = false;
|
648
|
+
$httpBackend.expectGET('/test/123').respond(200, {test: {id: 123, abc: 'xyz'}});
|
649
|
+
|
650
|
+
promise = Test.get(123).then(function () {
|
651
|
+
success = true;
|
652
|
+
}, function () {
|
653
|
+
failure = true;
|
654
|
+
});
|
655
|
+
|
656
|
+
promise.abort();
|
657
|
+
$rootScope.$digest();
|
658
|
+
$httpBackend.verifyNoOutstandingExpectation();
|
659
|
+
$httpBackend.verifyNoOutstandingRequest();
|
660
|
+
expect(success).toBeFalsy();
|
661
|
+
expect(failure).toBeTruthy();
|
662
|
+
});
|
663
|
+
});
|
664
|
+
|
665
|
+
it('should have abort after chaining promise with catch', function () {
|
666
|
+
inject(function ($q) {
|
667
|
+
var promise, caught = false;
|
668
|
+
$httpBackend.expectGET('/test/123').respond(200, {test: {id: 123, abc: 'xyz'}});
|
669
|
+
|
670
|
+
promise = Test.get(123).catch(function () {
|
671
|
+
caught = true;
|
672
|
+
});
|
673
|
+
|
674
|
+
promise.abort();
|
675
|
+
$rootScope.$digest();
|
676
|
+
$httpBackend.verifyNoOutstandingExpectation();
|
677
|
+
$httpBackend.verifyNoOutstandingRequest();
|
678
|
+
expect(caught).toBeTruthy();
|
679
|
+
});
|
680
|
+
});
|
681
|
+
|
682
|
+
it('should have abort after chaining promise with finally', function () {
|
683
|
+
inject(function ($q) {
|
684
|
+
var promise, caught = false, final = false;
|
685
|
+
$httpBackend.expectGET('/test/123').respond(200, {test: {id: 123, abc: 'xyz'}});
|
686
|
+
|
687
|
+
promise = Test.get(123).catch(function () {
|
688
|
+
caught = true;
|
689
|
+
}).finally(function () {
|
690
|
+
final = true;
|
691
|
+
});
|
692
|
+
|
693
|
+
promise.abort();
|
694
|
+
$rootScope.$digest();
|
695
|
+
$httpBackend.verifyNoOutstandingExpectation();
|
696
|
+
$httpBackend.verifyNoOutstandingRequest();
|
697
|
+
expect(caught).toBeTruthy();
|
698
|
+
expect(final).toBeTruthy();
|
699
|
+
});
|
700
|
+
});
|
701
|
+
|
702
|
+
it('should have abort after multiple chainings', function () {
|
703
|
+
inject(function ($q) {
|
704
|
+
var promise, failure = false;
|
705
|
+
$httpBackend.expectGET('/test/123').respond(200, {test: {id: 123, abc: 'xyz'}});
|
706
|
+
|
707
|
+
promise = Test.get(123)
|
708
|
+
.then(function () {}, function () {
|
709
|
+
return $q.reject(value);
|
710
|
+
})
|
711
|
+
.then(function () {}, function () {
|
712
|
+
failure = true;
|
713
|
+
});
|
714
|
+
|
715
|
+
promise.abort();
|
716
|
+
$rootScope.$digest();
|
717
|
+
$httpBackend.verifyNoOutstandingExpectation();
|
718
|
+
$httpBackend.verifyNoOutstandingRequest();
|
719
|
+
expect(failure).toBeTruthy();
|
720
|
+
});
|
721
|
+
});
|
722
|
+
|
562
723
|
describe('overridden idAttribute', function () {
|
563
724
|
beforeEach(inject(function (_$httpBackend_, _$rootScope_, railsResourceFactory) {
|
564
725
|
Test = railsResourceFactory({url: '/test', name: 'test', idAttribute: 'xyz'});
|