diff options
Diffstat (limited to 'js/tests/controllers/itemcontrollerSpec.coffee')
-rw-r--r-- | js/tests/controllers/itemcontrollerSpec.coffee | 193 |
1 files changed, 0 insertions, 193 deletions
diff --git a/js/tests/controllers/itemcontrollerSpec.coffee b/js/tests/controllers/itemcontrollerSpec.coffee deleted file mode 100644 index 7b2c50cb9..000000000 --- a/js/tests/controllers/itemcontrollerSpec.coffee +++ /dev/null @@ -1,193 +0,0 @@ -### - -ownCloud - News - -@author Bernhard Posselt -@copyright 2012 Bernhard Posselt dev@bernhard-posselt.com - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -License as published by the Free Software Foundation; either -version 3 of the License, or any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU AFFERO GENERAL PUBLIC LICENSE for more details. - -You should have received a copy of the GNU Affero General Public -License along with this library. If not, see <http://www.gnu.org/licenses/>. - -### - - -describe 'ItemController', -> - - - beforeEach module 'News' - - beforeEach module ($provide) => - @imagePath = jasmine.createSpy('imagePath') - @utils = - imagePath: @imagePath - $provide.value 'Utils', @utils - - @persistence = - getItems: -> - readItem: -> - $provide.value 'Persistence', @persistence - return - - beforeEach inject ($controller, @ItemBusinessLayer, @FeedBusinessLayer, - $rootScope, @FeedLoading, @AutoPageLoading, @FeedModel, @ItemModel, - @ActiveFeed, @FeedType, @NewestItem, @Compact) => - - @ActiveFeed.handle({type: @FeedType.Folder, id: 3}) - @scope = $rootScope.$new() - replace = - $scope: @scope - @controller = $controller('ItemController', replace) - - - it 'should make ItemBusinessLayer availabe', => - expect(@scope.itemBusinessLayer).toBe(@ItemBusinessLayer) - - - it 'should make FeedBusinessLayer availabe', => - expect(@scope.feedBusinessLayer).toBe(@FeedBusinessLayer) - - - it 'should make feedloading available', => - expect(@scope.isLoading()).toBe(false) - @FeedLoading.increase() - expect(@scope.isLoading()).toBe(true) - - - it 'should make autopagin available', => - expect(@scope.isAutoPaging()).toBe(false) - @AutoPageLoading.increase() - expect(@scope.isAutoPaging()).toBe(true) - - - it 'should return the feedtitle', => - item = {id: 3, faviconLink: null, url: 'hi', title: 'heheh'} - @FeedModel.add(item) - - expect(@scope.getFeedTitle(3)).toBe(item.title) - - - it 'should return no value if feedtitle is not found', => - expect(@scope.getFeedTitle(3)).toBe('') - - - it 'should return no value if relative date gets no value', => - expect(@scope.getRelativeDate()).toBe('') - - - it 'should set an item read on readItem broadcast', => - item1 = {id: 4, guidHash: 'abc', feedId: 3} - @ItemModel.add(item1) - item1.setUnread() - - expect(item1.isRead()).toBe(false) - @scope.$broadcast 'readItem', 4 - - expect(item1.isRead()).toBe(true) - - - it 'should not autopage if there are no items', => - @persistence.getItems = jasmine.createSpy('getItems') - @scope.$broadcast 'autoPage' - expect(@persistence.getItems).not.toHaveBeenCalled() - - - it 'should autoPage with the lowest Item Id', => - @NewestItem.handle(25) - - @persistence.getItems = jasmine.createSpy('getItems') - item1 = {id: 4, guidHash: 'abc', feedId: 3} - @ItemModel.add(item1) - - item1 = {id: 3, guidHash: 'abcd', feedId: 3} - @ItemModel.add(item1) - - item1 = {id: 6, guidHash: 'abce', feedId: 1} - @ItemModel.add(item1) - - @scope.$broadcast 'autoPage' - expect(@persistence.getItems).toHaveBeenCalledWith( - @FeedType.Folder, 3, 3, jasmine.any(Function) - ) - - - it 'should not prevent autopaging if there are no items', => - @scope.$broadcast 'autoPage' - @persistence.getItems = jasmine.createSpy('getItems') - - item1 = {id: 3, guidHash: 'abcd', feedId: 3} - @ItemModel.add(item1) - - @scope.$broadcast 'autoPage' - expect(@persistence.getItems).toHaveBeenCalledWith( - @FeedType.Folder, 3, 3, jasmine.any(Function) - ) - - - it 'should not send multiple autopage requests at once', => - @persistence.getItems = jasmine.createSpy('getItems') - item1 = {id: 3, guidHash: 'abcd', feedId: 3} - @ItemModel.add(item1) - - @scope.$broadcast 'autoPage' - - item1 = {id: 2, guidHash: 'abcd', feedId: 3} - @ItemModel.add(item1) - - @scope.$broadcast 'autoPage' - - expect(@persistence.getItems).not.toHaveBeenCalledWith( - @FeedType.Folder, 2, 3, jasmine.any(Function) - ) - - - it 'should allow another autopaging request if the last one finished', => - @NewestItem.handle(25) - @persistence.getItems = jasmine.createSpy('getItems') - @persistence.getItems.andCallFake (type, id, offset, - onSuccess) -> - onSuccess() - - item1 = {id: 3, guidHash: 'abcd', feedId: 3} - @ItemModel.add(item1) - - @scope.$broadcast 'autoPage' - - item1 = {id: 2, guidHash: 'abcd', feedId: 3} - @ItemModel.add(item1) - - @scope.$broadcast 'autoPage' - - expect(@persistence.getItems.callCount).toBe(2) - - - it 'should set refresh to true when pull to refresh is activated', => - @ItemBusinessLayer.loadNew = -> - - @scope.loadNew() - expect(@scope.refresh).toBe(true) - - - it 'should set refresh to false after load next was successful', => - @ItemBusinessLayer.loadNew = jasmine.createSpy('loadNew') - @ItemBusinessLayer.loadNew.andCallFake (callback) -> - callback() - - @scope.loadNew() - expect(@scope.refresh).toBe(false) - - - it 'should bind the compact object', => - expect(@scope.isCompactView()).toBe(false) - @Compact.handle(true) - expect(@scope.isCompactView()).toBe(true) - |