diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-09-11 20:26:04 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-09-11 20:26:04 +0200 |
commit | f3091d84e14537a42334e66ea6588cf2b83f9ab6 (patch) | |
tree | 943151aa564177e956d5dc1b2fff12845e48c4c0 /js/tests/unit/controller | |
parent | f50dba835fa58f9ba979a9038ffd185ab8fe3b96 (diff) |
various work on creating feeds, folders and showing folders
Diffstat (limited to 'js/tests/unit/controller')
-rw-r--r-- | js/tests/unit/controller/NavigationControllerSpec.js | 160 |
1 files changed, 159 insertions, 1 deletions
diff --git a/js/tests/unit/controller/NavigationControllerSpec.js b/js/tests/unit/controller/NavigationControllerSpec.js index e871a2174..56533ad9f 100644 --- a/js/tests/unit/controller/NavigationControllerSpec.js +++ b/js/tests/unit/controller/NavigationControllerSpec.js @@ -207,6 +207,7 @@ describe('NavigationController', function () { expect(ctrl.subFeedActive(3)).toBe(true); })); + it('should check if a subscriptions is active', inject(function ( FeedResource, FEED_TYPE, $controller) { var ctrl = $controller('NavigationController', { @@ -285,8 +286,165 @@ describe('NavigationController', function () { it('should expose check if folder exists', inject(function ( FolderResource) { expect(controller.folderNameExists('hi')).toBe(false); - FolderResource.add({name: 'hi'}); + FolderResource.add({name: 'HI'}); expect(controller.folderNameExists('hi')).toBe(true); + expect(controller.folderNameExists('HI')).toBe(true); + })); + + + it('should create a feed with a folderId', inject(function ($controller) { + var FeedResource = { + create: jasmine.createSpy('create').andCallFake( + function (url, folderId) { + return { + then: function (callback) { + callback({ + url: url, + folderId: folderId + }); + } + }; + }) + }; + + var Publisher = { + publishAll: jasmine.createSpy('publishAll') + }; + + var ctrl = $controller('NavigationController', { + FeedResource: FeedResource, + Publisher: Publisher + }); + + var feed = { + url: 'test', + folderId: 3 + }; + + ctrl.createFeed(feed); + + expect(ctrl.newFolder).toBe(false); + expect(FeedResource.create).toHaveBeenCalledWith('test', 3, + undefined); + expect(Publisher.publishAll).toHaveBeenCalledWith({ + url: 'test', + folderId: 3 + }); + expect(feed.url).toBe(''); + })); + + + it('should create a feed with a foldername', inject(function ($controller) { + + var FeedResource = { + create: jasmine.createSpy('create').andCallFake( + function (url, folderId) { + return { + then: function (callback) { + callback({ + url: url, + folderId: folderId + }); + } + }; + }) + }; + + var FolderResource = { + create: jasmine.createSpy('create').andCallFake( + function (folder) { + return { + then: function (callback) { + callback({ + name: folder + }); + } + }; + }) + }; + + var Publisher = { + publishAll: jasmine.createSpy('publishAll') + }; + + var ctrl = $controller('NavigationController', { + FeedResource: FeedResource, + Publisher: Publisher, + FolderResource: FolderResource + }); + + var feed = { + url: 'test', + folder: 'john' + }; + + ctrl.createFeed(feed); + + expect(ctrl.newFolder).toBe(false); + expect(FeedResource.create).toHaveBeenCalledWith('test', 'john', + undefined); + expect(FolderResource.create).toHaveBeenCalledWith('john'); + expect(Publisher.publishAll).toHaveBeenCalledWith({ + url: 'test', + folderId: 'john' + }); + expect(Publisher.publishAll).toHaveBeenCalledWith({ + name: 'john' + }); + expect(feed.url).toBe(''); + expect(feed.folder).toBe(''); + expect(feed.folderId).toBe('john'); + })); + + + it('should create a folder', inject(function ($controller) { + var FolderResource = { + create: jasmine.createSpy('create').andCallFake( + function (folder) { + return { + then: function (callback) { + callback({ + name: folder + }); + } + }; + }) + }; + + var Publisher = { + publishAll: jasmine.createSpy('publishAll') + }; + + var ctrl = $controller('NavigationController', { + Publisher: Publisher, + FolderResource: FolderResource + }); + + var folder = { + name: 'test', + }; + + ctrl.createFolder(folder); + + expect(FolderResource.create).toHaveBeenCalledWith('test'); + expect(Publisher.publishAll).toHaveBeenCalledWith({ + name: 'test' + }); + expect(folder.name).toBe(''); })); + + it('should move a folder', inject(function ($controller) { + var FeedResource = { + move: jasmine.createSpy('move') + }; + + var ctrl = $controller('NavigationController', { + FeedResource: FeedResource + }); + + ctrl.moveFeed(1, 3); + + expect(FeedResource.move).toHaveBeenCalledWith(1, 3); + })); }); |