summaryrefslogtreecommitdiffstats
path: root/js/tests
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-05-29 22:58:30 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-05-29 22:58:30 +0200
commitcba949fb0771c832326fc7886cced2bdc37e7536 (patch)
tree9e1a335a83a6006f645c801b762db7525e4c6c59 /js/tests
parentb91ef01fdbf14c6a5d58e5c471dbb1fc9d17cdfb (diff)
order by pubdate
Diffstat (limited to 'js/tests')
-rw-r--r--js/tests/unit/controller/ContentControllerSpec.js122
-rw-r--r--js/tests/unit/service/ItemResourceSpec.js73
2 files changed, 130 insertions, 65 deletions
diff --git a/js/tests/unit/controller/ContentControllerSpec.js b/js/tests/unit/controller/ContentControllerSpec.js
index ac7c6f1a8..658ae9252 100644
--- a/js/tests/unit/controller/ContentControllerSpec.js
+++ b/js/tests/unit/controller/ContentControllerSpec.js
@@ -63,4 +63,126 @@ describe('ContentController', () => {
expect(ctrl.orderBy()).toBe('-id');
}));
+
+ it('should mark read', inject(($controller,
+ ItemResource, FeedResource, Publisher) => {
+
+ Publisher.subscribe(ItemResource).toChannels('items');
+ ItemResource.markItemRead = jasmine.createSpy('markRead');
+ FeedResource.markItemOfFeedRead = jasmine.createSpy('markRead');
+
+ let ctrl = $controller('ContentController', {
+ ItemResource: ItemResource,
+ FeedResource: FeedResource,
+ data: {
+ 'items': [{
+ id: 3,
+ feedId: 4
+ }]
+ },
+ });
+
+ ctrl.markRead(3);
+
+ expect(ItemResource.markItemRead).toHaveBeenCalledWith(3);
+ expect(FeedResource.markItemOfFeedRead).toHaveBeenCalledWith(4);
+ }));
+
+
+ it('should toggle keep unread when unread', inject(($controller,
+ ItemResource, FeedResource, Publisher) => {
+
+ Publisher.subscribe(ItemResource).toChannels('items');
+
+ let ctrl = $controller('ContentController', {
+ ItemResource: ItemResource,
+ FeedResource: FeedResource,
+ data: {
+ 'items': [{
+ id: 3,
+ feedId: 4,
+ unread: true
+ }]
+ },
+ });
+
+ ctrl.toggleKeepUnread(3);
+
+ expect(ItemResource.get(3).keepUnread).toBe(true);
+ }));
+
+
+ it('should toggle keep unread when read', inject(($controller,
+ ItemResource, FeedResource, Publisher) => {
+
+ Publisher.subscribe(ItemResource).toChannels('items');
+ ItemResource.markItemRead = jasmine.createSpy('markRead');
+ FeedResource.markItemOfFeedUnread = jasmine.createSpy('markRead');
+
+ let ctrl = $controller('ContentController', {
+ ItemResource: ItemResource,
+ FeedResource: FeedResource,
+ data: {
+ 'items': [{
+ id: 3,
+ feedId: 4,
+ unread: false,
+ keepUnread: true
+ }]
+ },
+ });
+
+ ctrl.toggleKeepUnread(3);
+
+ expect(ItemResource.get(3).keepUnread).toBe(false);
+ expect(ItemResource.markItemRead).toHaveBeenCalledWith(3, false);
+ expect(FeedResource.markItemOfFeedUnread).toHaveBeenCalledWith(4);
+ }));
+
+
+ it('should get a feed', inject(($controller, FeedResource, Publisher) => {
+
+ Publisher.subscribe(FeedResource).toChannels('feeds');
+
+ let ctrl = $controller('ContentController', {
+ FeedResource: FeedResource,
+ data: {
+ 'feeds': [{
+ id: 3,
+ url: 4
+ }]
+ },
+ });
+
+ expect(ctrl.getFeed(3).url).toBe(4);
+ }));
+
+
+ it('should toggle starred', inject(($controller, ItemResource) => {
+
+ ItemResource.toggleStar = jasmine.createSpy('star');
+
+ let ctrl = $controller('ContentController', {
+ ItemResource: ItemResource,
+ data: {},
+ });
+
+ ctrl.toggleStar(3);
+
+ expect(ItemResource.toggleStar).toHaveBeenCalledWith(3);
+ }));
+
+
+
+ it('should publish compactview', inject(($controller, SettingsResource) => {
+
+ SettingsResource.set('compact', true);
+
+ let ctrl = $controller('ContentController', {
+ SettingsResource: SettingsResource,
+ data: {},
+ });
+
+ expect(ctrl.isCompactView()).toBe(true);
+ }));
});
diff --git a/js/tests/unit/service/ItemResourceSpec.js b/js/tests/unit/service/ItemResourceSpec.js
index 4f2a572a9..50454d41a 100644
--- a/js/tests/unit/service/ItemResourceSpec.js
+++ b/js/tests/unit/service/ItemResourceSpec.js
@@ -35,31 +35,6 @@ describe('ItemResource', () => {
}));
- it ('should keep item unread', inject((ItemResource) => {
- http.expectPOST('base/items/3/read', {isRead: false}).respond(200, {});
-
- ItemResource.receive([
- {
- id: 3,
- feedId: 4,
- unread: false
- },
- {
- id: 4,
- feedId: 3,
- unread: false
- }
- ], 'items');
-
- ItemResource.keepUnread(3);
-
- http.flush();
-
- expect(ItemResource.get(3).keepUnread).toBe(true);
- expect(ItemResource.get(3).unread).toBe(true);
- }));
-
-
it ('should mark item as read', inject((ItemResource) => {
http.expectPOST('base/items/3/read', {isRead: true}).respond(200, {});
@@ -172,57 +147,25 @@ describe('ItemResource', () => {
}));
- it ('should remember the highest id', inject((ItemResource) => {
+ it ('toggle star', inject((ItemResource) => {
ItemResource.receive([
{
id: 3,
+ starred: true
},
{
id: 5,
- },
- {
- id: 4,
- }
- ], 'items');
-
- expect(ItemResource.getHighestId()).toBe(5);
- }));
-
-
- it ('should remember the lowest id', inject((ItemResource) => {
- ItemResource.receive([
- {
- id: 3,
- },
- {
- id: 5,
- },
- {
- id: 4,
+ starred: false
}
], 'items');
- expect(ItemResource.getLowestId()).toBe(3);
- }));
-
-
- it ('should clear the highest and lowest id', inject((ItemResource) => {
- ItemResource.receive([
- {
- id: 3,
- },
- {
- id: 5,
- },
- {
- id: 4,
- }
- ], 'items');
+ ItemResource.star = jasmine.createSpy('star');
- ItemResource.clear();
+ ItemResource.toggleStar(3);
+ expect(ItemResource.star).toHaveBeenCalledWith(3, false);
- expect(ItemResource.getHighestId()).toBe(0);
- expect(ItemResource.getLowestId()).toBe(0);
+ ItemResource.toggleStar(5);
+ expect(ItemResource.star).toHaveBeenCalledWith(5, true);
}));