diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-09-12 23:54:49 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-09-12 23:54:49 +0200 |
commit | 72c4fc9acb1380021eb4665af78ef8e26058c86a (patch) | |
tree | 8ae59a2df7f4deaafbbb61060a47d2efddf8702b /js/tests | |
parent | f7feeecf398fc9a7ba62596f784bf9ec28677940 (diff) |
rename folder
Diffstat (limited to 'js/tests')
-rw-r--r-- | js/tests/unit/controller/NavigationControllerSpec.js | 96 | ||||
-rw-r--r-- | js/tests/unit/service/FolderResourceSpec.js | 13 |
2 files changed, 107 insertions, 2 deletions
diff --git a/js/tests/unit/controller/NavigationControllerSpec.js b/js/tests/unit/controller/NavigationControllerSpec.js index 411c43ef2..d502d99c6 100644 --- a/js/tests/unit/controller/NavigationControllerSpec.js +++ b/js/tests/unit/controller/NavigationControllerSpec.js @@ -595,8 +595,7 @@ describe('NavigationController', function () { })); - it('should rename a feed', inject( - function ($controller, FEED_TYPE, FeedResource) { + it('should rename a feed', inject(function ($controller, FeedResource) { FeedResource.rename = jasmine.createSpy('rename'); var ctrl = $controller('NavigationController', { @@ -615,4 +614,97 @@ describe('NavigationController', function () { expect(feed.editing).toBe(false); })); + + it('should rename a folder', inject(function ($controller, FolderResource) { + FolderResource.rename = jasmine.createSpy('rename') + .andCallFake(function () { + return { + then: function (success) { + success(); + return { + finally: function (callback) { + callback(); + } + }; + } + }; + }); + + var ctrl = $controller('NavigationController', { + FolderResource: FolderResource, + }); + + var folder = { + id: 3, + name: 'test', + renameError: 'nope', + editing: true + }; + + ctrl.renameFolder(folder, 'abc'); + + expect(FolderResource.rename).toHaveBeenCalledWith('test', 'abc'); + expect(folder.renameError).toBe(''); + expect(folder.editing).toBe(false); + })); + + + it('should handle rename folder error', inject(function ($controller, + FolderResource) { + FolderResource.rename = jasmine.createSpy('rename') + .andCallFake(function () { + return { + then: function (success, error) { + error('no'); + return { + finally: function (callback) { + callback(); + } + }; + } + }; + }); + + var ctrl = $controller('NavigationController', { + FolderResource: FolderResource, + }); + + var folder = { + id: 3, + name: 'test', + renameError: 'nope', + editing: true + }; + + ctrl.renameFolder(folder, 'abc'); + + expect(FolderResource.rename).toHaveBeenCalledWith('test', 'abc'); + expect(folder.renameError).toBe('no'); + expect(folder.editing).toBe(true); + })); + + + it('should handle rename a folder if the name did not change', + inject(function ($controller, FolderResource) { + FolderResource.rename = jasmine.createSpy('rename'); + + var ctrl = $controller('NavigationController', { + FolderResource: FolderResource, + }); + + var folder = { + id: 3, + name: 'test', + renameError: 'nope', + editing: true + }; + + ctrl.renameFolder(folder, 'test'); + + expect(FolderResource.rename).not.toHaveBeenCalled(); + expect(folder.renameError).toBe(''); + expect(folder.editing).toBe(false); + expect(ctrl.renamingFolder).toBe(false); + })); + }); diff --git a/js/tests/unit/service/FolderResourceSpec.js b/js/tests/unit/service/FolderResourceSpec.js index 6d3e73799..a5902d2ee 100644 --- a/js/tests/unit/service/FolderResourceSpec.js +++ b/js/tests/unit/service/FolderResourceSpec.js @@ -58,6 +58,19 @@ describe('FolderResource', function () { })); + it ('should handle a folderrename error', inject(function (FolderResource) { + http.expectPOST('base/folders/1/rename', { + folderName: 'heho' + }).respond(400, {}); + + FolderResource.rename('ye', 'heho'); + + http.flush(); + + expect(FolderResource.get('ye').id).toBe(1); + })); + + it ('should open a folder', inject(function (FolderResource) { http.expectPOST('base/folders/3/open', { folderId: 3, |