From f1261587eb4f8283915f18d162173a6a3a8012b0 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Fri, 23 May 2014 12:53:03 +0200 Subject: cache unread count --- .../unit/controller/NavigationControllerSpec.js | 36 ++++++++++++++++++ js/tests/unit/service/FeedResourceSpec.js | 44 ++++++++++++++++++++-- js/tests/unit/service/ItemResourceSpec.js | 6 +-- 3 files changed, 79 insertions(+), 7 deletions(-) create mode 100644 js/tests/unit/controller/NavigationControllerSpec.js (limited to 'js/tests') diff --git a/js/tests/unit/controller/NavigationControllerSpec.js b/js/tests/unit/controller/NavigationControllerSpec.js new file mode 100644 index 000000000..a8d3a0f76 --- /dev/null +++ b/js/tests/unit/controller/NavigationControllerSpec.js @@ -0,0 +1,36 @@ +/** + * ownCloud - News + * + * This file is licensed under the Affero General Public License version 3 or + * later. See the COPYING file. + * + * @author Bernhard Posselt + * @copyright Bernhard Posselt 2014 + */ +describe('NavigationController', () => { + 'use strict'; + + let controller; + + beforeEach(module('News', ($provide) => { + $provide.value('BASE_URL', 'base'); + })); + + beforeEach(inject(($controller) => { + controller = $controller('NavigationController'); + })); + + + it('should expose Feeds', inject((FeedResource) => { + FeedResource.add({url: 1}); + expect(controller.getFeeds()).toBe(FeedResource.getAll()); + })); + + + it('should expose Folders', inject((FolderResource) => { + FolderResource.add({name: 1}); + expect(controller.getFolders()).toBe(FolderResource.getAll()); + })); + + +}); \ No newline at end of file diff --git a/js/tests/unit/service/FeedResourceSpec.js b/js/tests/unit/service/FeedResourceSpec.js index 8b941d99d..a12536a9f 100644 --- a/js/tests/unit/service/FeedResourceSpec.js +++ b/js/tests/unit/service/FeedResourceSpec.js @@ -7,7 +7,7 @@ * @author Bernhard Posselt * @copyright Bernhard Posselt 2014 */ -describe('ItemResource', () => { +describe('FeedResource', () => { 'use strict'; let resource; @@ -19,9 +19,11 @@ describe('ItemResource', () => { beforeEach(inject((FeedResource) => { resource = FeedResource; - FeedResource.add({id: 1, url: 'ye', unreadCount: 45}); - FeedResource.add({id: 2, url: 'sye', unreadCount: 25}); - FeedResource.add({id: 3, url: '1sye', unreadCount: 0}); + FeedResource.receive([ + {id: 1, folderId: 3, url: 'ye', unreadCount: 45}, + {id: 2, folderId: 4, url: 'sye', unreadCount: 25}, + {id: 3, folderId: 3, url: '1sye', unreadCount: 0} + ]); })); it('should mark all read', inject((FeedResource) => { @@ -52,4 +54,38 @@ describe('ItemResource', () => { expect(FeedResource.get('ye').unreadCount).toBe(46); })); + + + it('should cache unreadcount', inject((FeedResource) => { + expect(FeedResource.getUnreadCount()).toBe(70); + + FeedResource.markItemOfFeedRead(3); + expect(FeedResource.getUnreadCount()).toBe(69); + + FeedResource.markItemOfFeedUnread(3); + expect(FeedResource.getUnreadCount()).toBe(70); + + FeedResource.markFolderRead(3); + expect(FeedResource.getUnreadCount()).toBe(25); + + FeedResource.markRead(); + expect(FeedResource.getUnreadCount()).toBe(0); + })); + + + it('should cache folder unreadcount', inject((FeedResource) => { + expect(FeedResource.getFolderUnreadCount(3)).toBe(45); + + FeedResource.markItemOfFeedRead(3); + expect(FeedResource.getFolderUnreadCount(3)).toBe(44); + + FeedResource.markItemOfFeedUnread(3); + expect(FeedResource.getFolderUnreadCount(3)).toBe(45); + + FeedResource.markFolderRead(3); + expect(FeedResource.getFolderUnreadCount(3)).toBe(0); + + FeedResource.markRead(); + expect(FeedResource.getFolderUnreadCount(4)).toBe(0); + })); }); diff --git a/js/tests/unit/service/ItemResourceSpec.js b/js/tests/unit/service/ItemResourceSpec.js index bfdaf4b4a..4f2a572a9 100644 --- a/js/tests/unit/service/ItemResourceSpec.js +++ b/js/tests/unit/service/ItemResourceSpec.js @@ -76,7 +76,7 @@ describe('ItemResource', () => { } ], 'items'); - ItemResource.read(3); + ItemResource.markItemRead(3); http.flush(); @@ -132,7 +132,7 @@ describe('ItemResource', () => { } ], 'items'); - ItemResource.readFeed(4); + ItemResource.markFeedRead(4); http.flush(); @@ -162,7 +162,7 @@ describe('ItemResource', () => { } ], 'items'); - ItemResource.readAll(4); + ItemResource.markRead(); http.flush(); -- cgit v1.2.3