summaryrefslogtreecommitdiffstats
path: root/js/tests
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-05-23 12:53:03 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-05-23 12:53:03 +0200
commitf1261587eb4f8283915f18d162173a6a3a8012b0 (patch)
tree1b617ad37c0e35f051d75716c2c4d58e0ea7e6a5 /js/tests
parentc12a2504cd25ea03077a09101155654efc10d971 (diff)
cache unread count
Diffstat (limited to 'js/tests')
-rw-r--r--js/tests/unit/controller/NavigationControllerSpec.js36
-rw-r--r--js/tests/unit/service/FeedResourceSpec.js44
-rw-r--r--js/tests/unit/service/ItemResourceSpec.js6
3 files changed, 79 insertions, 7 deletions
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 <dev@bernhard-posselt.com>
+ * @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 <dev@bernhard-posselt.com>
* @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();