From f27198da9dd3e6c04f2787f2bb4ef3bea3b00b55 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Fri, 23 May 2014 13:14:32 +0200 Subject: implement mark feed, folder and all read for navigation controller --- .../unit/controller/NavigationControllerSpec.js | 67 ++++++++++++++++++++++ js/tests/unit/service/FeedResourceSpec.js | 9 +++ 2 files changed, 76 insertions(+) (limited to 'js/tests') diff --git a/js/tests/unit/controller/NavigationControllerSpec.js b/js/tests/unit/controller/NavigationControllerSpec.js index a8d3a0f76..4d4e4bb10 100644 --- a/js/tests/unit/controller/NavigationControllerSpec.js +++ b/js/tests/unit/controller/NavigationControllerSpec.js @@ -33,4 +33,71 @@ describe('NavigationController', () => { })); + it('should mark Folders read', inject(($controller) => { + let FeedResource = { + markFolderRead: jasmine.createSpy('folder'), + getByFolderId: () => { + return [ + {id: 3}, + {id: 4} + ]; + } + }; + + let ItemResource = { + markFeedRead: jasmine.createSpy('feedfolder') + }; + + controller = $controller('NavigationController', { + FeedResource: FeedResource, + ItemResource: ItemResource + }); + + controller.markFolderRead(3); + + expect(FeedResource.markFolderRead).toHaveBeenCalledWith(3); + expect(ItemResource.markFeedRead.callCount).toBe(2); + })); + + + it('should mark a feed read', inject(($controller) => { + let FeedResource = { + markFeedRead: jasmine.createSpy('folder'), + }; + + let ItemResource = { + markFeedRead: jasmine.createSpy('feedfolder') + }; + + controller = $controller('NavigationController', { + FeedResource: FeedResource, + ItemResource: ItemResource + }); + + controller.markFeedRead(3); + + expect(FeedResource.markFeedRead).toHaveBeenCalledWith(3); + expect(ItemResource.markFeedRead).toHaveBeenCalledWith(3); + })); + + + it('should mark all read', inject(($controller) => { + let FeedResource = { + markRead: jasmine.createSpy('folder'), + }; + + let ItemResource = { + markRead: jasmine.createSpy('feedfolder') + }; + + controller = $controller('NavigationController', { + FeedResource: FeedResource, + ItemResource: ItemResource + }); + + controller.markRead(); + + expect(FeedResource.markRead).toHaveBeenCalled(); + expect(ItemResource.markRead).toHaveBeenCalled(); + })); }); \ No newline at end of file diff --git a/js/tests/unit/service/FeedResourceSpec.js b/js/tests/unit/service/FeedResourceSpec.js index a12536a9f..d14d7f716 100644 --- a/js/tests/unit/service/FeedResourceSpec.js +++ b/js/tests/unit/service/FeedResourceSpec.js @@ -56,6 +56,15 @@ describe('FeedResource', () => { })); + it('should get all of folder', inject((FeedResource) => { + + let folders = FeedResource.getByFolderId(3); + + expect(folders.length).toBe(2); + })); + + + it('should cache unreadcount', inject((FeedResource) => { expect(FeedResource.getUnreadCount()).toBe(70); -- cgit v1.2.3