summaryrefslogtreecommitdiffstats
path: root/js/tests
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-05-09 14:03:37 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-05-09 14:03:37 +0200
commit019b286b8e997bea3fb6a0555c91c565ca2d684f (patch)
treed162de276a9571f89f29fc0691258f38571edff8 /js/tests
parent59069e85a26dd72bb1798e0ee517d607f6021443 (diff)
Fix a bug that would mark the items on the right side as read regardless of feed or folder id
Diffstat (limited to 'js/tests')
-rw-r--r--js/tests/services/businesslayer/feedbusinesslayerSpec.coffee18
-rw-r--r--js/tests/services/businesslayer/folderbusinesslayerSpec.coffee22
-rw-r--r--js/tests/services/businesslayer/subsriptionsbusinesslayerSpec.coffee5
3 files changed, 37 insertions, 8 deletions
diff --git a/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee b/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee
index a41426922..42cab53b1 100644
--- a/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee
+++ b/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee
@@ -94,6 +94,7 @@ describe 'FeedBusinessLayer', ->
it 'should not mark feed read when no highest item id', =>
+ @FeedModel.add({id: 5, unreadCount:2, folderId: 2, url: 'a1'})
@persistence.setFeedRead = jasmine.createSpy('setFeedRead')
@FeedBusinessLayer.markRead(5)
expect(@persistence.setFeedRead).not.toHaveBeenCalled()
@@ -103,17 +104,22 @@ describe 'FeedBusinessLayer', ->
@NewestItem.handle(25)
@ActiveFeed.handle({type: @FeedType.Feed, id: 5})
@persistence.setFeedRead = jasmine.createSpy('setFeedRead')
+
@FeedModel.add({id: 5, unreadCount:2, folderId: 2, url: 'a1'})
- @ItemModel.add({id: 6, feedId: 5, guidHash: 'a1'})
- @ItemModel.add({id: 3, feedId: 5, guidHash: 'a2'})
- @ItemModel.add({id: 2, feedId: 5, guidHash: 'a3'})
+
+ item1 = {id: 3, feedId: 5, guidHash: 'a3', status: 0}
+ @ItemModel.add(item1)
+ item1.setUnread()
+ item2 = {id: 2, feedId: 3, guidHash: 'a3', status: 0}
+ @ItemModel.add(item2)
+ item2.setUnread()
+
@FeedBusinessLayer.markRead(5)
expect(@persistence.setFeedRead).toHaveBeenCalledWith(5, 25)
expect(@FeedModel.getById(5).unreadCount).toBe(0)
- expect(@ItemModel.getById(6).isRead()).toBeTruthy()
- expect(@ItemModel.getById(3).isRead()).toBeTruthy()
- expect(@ItemModel.getById(2).isRead()).toBeTruthy()
+ expect(item1.isRead()).toBe(true)
+ expect(item2.isRead()).toBe(false)
it 'should get the correct unread count for subscribtions', =>
diff --git a/js/tests/services/businesslayer/folderbusinesslayerSpec.coffee b/js/tests/services/businesslayer/folderbusinesslayerSpec.coffee
index 4d23d5b8d..c0ea2aedb 100644
--- a/js/tests/services/businesslayer/folderbusinesslayerSpec.coffee
+++ b/js/tests/services/businesslayer/folderbusinesslayerSpec.coffee
@@ -40,7 +40,7 @@ describe 'FolderBusinessLayer', ->
beforeEach inject (@FolderBusinessLayer, @FolderModel, @FeedModel, @ShowAll,
@ActiveFeed, @FeedType, @_ExistsError, @$timeout,
- @NewestItem) =>
+ @NewestItem, @ItemModel) =>
@ShowAll.setShowAll(false)
@ActiveFeed.handle({type: @FeedType.Feed, id:0})
@@ -88,9 +88,17 @@ describe 'FolderBusinessLayer', ->
it 'should mark folder as read', =>
@NewestItem.handle(25)
- @FolderModel.add({id: 3, opened: false, name: 'ho'})
@persistence.setFolderRead = jasmine.createSpy('setFeedRead')
+
+ item1 = {id: 3, feedId: 5, guidHash: 'a3', status: 0}
+ @ItemModel.add(item1)
+ item1.setUnread()
+ item2 = {id: 2, feedId: 3, guidHash: 'a3', status: 0}
+ @ItemModel.add(item2)
+ item2.setUnread()
+
+ @FolderModel.add({id: 3, opened: false, name: 'ho'})
@FeedModel.add({id: 3, unreadCount:134, folderId: 3, url: 'a1'})
@FeedModel.add({id: 5, unreadCount:2, folderId: 2, url: 'a2'})
@FeedModel.add({id: 1, unreadCount:12, folderId: 3, url: 'a3'})
@@ -101,9 +109,19 @@ describe 'FolderBusinessLayer', ->
expect(@FeedModel.getById(1).unreadCount).toBe(0)
expect(@FeedModel.getById(5).unreadCount).toBe(2)
+ expect(item1.isRead()).toBe(false)
+ expect(item2.isRead()).toBe(true)
+
expect(@persistence.setFolderRead).toHaveBeenCalledWith(3, 25)
+ it 'should not mark folder read when no highest item id', =>
+ @FolderModel.add({id: 5, opened: false, name: 'ho'})
+ @persistence.setFolderRead = jasmine.createSpy('setFolderRead')
+ @FolderBusinessLayer.markRead(5)
+ expect(@persistence.setFolderRead).not.toHaveBeenCalled()
+
+
it 'should get the correct unread count', =>
@FeedModel.add({id: 5, unreadCount:2, folderId: 2, url: 'a1'})
@FeedModel.add({id: 6, unreadCount:3, folderId: 3, url: 'a2'})
diff --git a/js/tests/services/businesslayer/subsriptionsbusinesslayerSpec.coffee b/js/tests/services/businesslayer/subsriptionsbusinesslayerSpec.coffee
index 9e3437b3c..26698ae3c 100644
--- a/js/tests/services/businesslayer/subsriptionsbusinesslayerSpec.coffee
+++ b/js/tests/services/businesslayer/subsriptionsbusinesslayerSpec.coffee
@@ -83,6 +83,11 @@ describe 'SubscriptionsBusinessLayer', ->
expect(@persistence.setAllRead).toHaveBeenCalledWith(25)
+ it 'should not mark all read when no highest item id', =>
+ @persistence.setAllRead = jasmine.createSpy('setAllRead')
+ @SubscriptionsBusinessLayer.markRead()
+ expect(@persistence.setAllRead).not.toHaveBeenCalled()
+
it 'should get the correct unread count', =>
@FeedModel.add({id: 3, unreadCount: 132, url: 'hoho'})
@FeedModel.add({id: 4, unreadCount: 12, url: 'hohod'})