From 0a818fa9ff21d98c16def02cfbf1043ea675d2a9 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Sat, 13 Sep 2014 02:42:19 +0200 Subject: delete + undo folders --- .../unit/controller/NavigationControllerSpec.js | 78 +++++++++++++++++++++- js/tests/unit/service/FeedResourceSpec.js | 5 +- js/tests/unit/service/FolderResourceSpec.js | 16 ++--- 3 files changed, 86 insertions(+), 13 deletions(-) (limited to 'js/tests/unit') diff --git a/js/tests/unit/controller/NavigationControllerSpec.js b/js/tests/unit/controller/NavigationControllerSpec.js index f5781dafa..4dc4e40f9 100644 --- a/js/tests/unit/controller/NavigationControllerSpec.js +++ b/js/tests/unit/controller/NavigationControllerSpec.js @@ -738,7 +738,7 @@ describe('NavigationController', function () { var feed = { id: 3, - deleted: false + deleted: true }; ctrl.undoDeleteFeed(feed); @@ -750,7 +750,7 @@ describe('NavigationController', function () { it('should delete a feed', inject(function ( $controller, FeedResource) { - FeedResource.delete = jasmine.createSpy('undoDelete'); + FeedResource.delete = jasmine.createSpy('delete'); var ctrl = $controller('NavigationController', { FeedResource: FeedResource, @@ -766,4 +766,78 @@ describe('NavigationController', function () { })); + it('should reversibly delete a folder', inject(function ( + $controller, FolderResource, FeedResource) { + FolderResource.reversiblyDelete = jasmine.createSpy('reversiblyDelete'); + + var ctrl = $controller('NavigationController', { + FolderResource: FolderResource, + }); + + var folder = { + id: 3, + deleted: false, + name: 'test' + }; + + ctrl.reversiblyDeleteFolder(folder); + + expect(FolderResource.reversiblyDelete).toHaveBeenCalledWith(3); + expect(folder.deleted).toBe(true); + expect(FeedResource.size(2)).toBe(1); + expect(ctrl._deletedFeedsBackup.test.length).toBe(2); + })); + + + it('should undo delete a folder', inject(function ( + $controller, FolderResource, FeedResource) { + FolderResource.undoDelete = jasmine.createSpy('undoDelete'); + + var ctrl = $controller('NavigationController', { + FolderResource: FolderResource, + FeedResource: FeedResource + }); + + var folder = { + id: 3, + deleted: true, + name: 'test' + }; + + var feed1 = FeedResource.delete(1); + var feed2 = FeedResource.delete(3); + expect(FeedResource.size()).toBe(1); + + ctrl._deletedFeedsBackup.test = [feed1, feed2]; + + ctrl.undoDeleteFolder(folder); + + expect(FolderResource.undoDelete).toHaveBeenCalledWith(3); + expect(folder.deleted).toBe(false); + expect(FeedResource.size()).toBe(3); + })); + + + it('should delete a folder', inject(function ( + $controller, FolderResource) { + FolderResource.delete = jasmine.createSpy('delete'); + + var ctrl = $controller('NavigationController', { + FolderResource: FolderResource, + }); + + var folder = { + id: 3, + name: 'test' + }; + + ctrl._deletedFeedsBackup.test = [1, 2]; + + ctrl.deleteFolder(folder); + + expect(FolderResource.delete).toHaveBeenCalledWith('test'); + expect(ctrl._deletedFeedsBackup.test).toBe(undefined); + })); + + }); diff --git a/js/tests/unit/service/FeedResourceSpec.js b/js/tests/unit/service/FeedResourceSpec.js index c6f3ba050..a64b1b162 100644 --- a/js/tests/unit/service/FeedResourceSpec.js +++ b/js/tests/unit/service/FeedResourceSpec.js @@ -229,7 +229,10 @@ describe('FeedResource', function () { it ('should delete a feed', inject(function (FeedResource) { - FeedResource.delete(2); + var feed = FeedResource.getById(2); + var deletedFeed = FeedResource.delete(2); + + expect(deletedFeed).toBe(feed); expect(FeedResource.get('sye')).toBe(undefined); expect(FeedResource.size()).toBe(2); })); diff --git a/js/tests/unit/service/FolderResourceSpec.js b/js/tests/unit/service/FolderResourceSpec.js index a5902d2ee..444dba2e0 100644 --- a/js/tests/unit/service/FolderResourceSpec.js +++ b/js/tests/unit/service/FolderResourceSpec.js @@ -35,13 +35,9 @@ describe('FolderResource', function () { it ('should delete a folder', inject(function (FolderResource) { - http.expectDELETE('base/folders/1').respond(200, {}); - FolderResource.delete('ye'); - - http.flush(); - expect(FolderResource.size()).toBe(2); + expect(FolderResource.get('ye')).toBe(undefined); })); @@ -111,21 +107,21 @@ describe('FolderResource', function () { })); - it ('should undo a delete folder', inject(function (FolderResource) { + it ('should reversibly delete a folder', inject(function (FolderResource) { http.expectDELETE('base/folders/1').respond(200, {}); - FolderResource.delete('ye'); + FolderResource.reversiblyDelete(1); http.flush(); + })); + it ('should undo a delete folder', inject(function (FolderResource) { http.expectPOST('base/folders/1/restore').respond(200, {}); - FolderResource.undoDelete(); + FolderResource.undoDelete(1); http.flush(); - - expect(FolderResource.get('ye').id).toBe(1); })); -- cgit v1.2.3