summaryrefslogtreecommitdiffstats
path: root/js/tests
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2013-12-20 17:24:50 +0100
committerBernhard Posselt <dev@bernhard-posselt.com>2013-12-20 17:25:01 +0100
commit67daf1074702f8ee8e0720c6f864bc4b8eb3780c (patch)
tree7b17318ad4a1ef70415589e152ebafbfa62bba86 /js/tests
parentee9810ede5a5e3e10b214a771d0a58dcbb29bc36 (diff)
prevent multiple autopage requests, fix #201
Diffstat (limited to 'js/tests')
-rw-r--r--js/tests/services/businesslayer/itembusinesslayerSpec.coffee16
-rw-r--r--js/tests/services/persistenceSpec.coffee33
2 files changed, 49 insertions, 0 deletions
diff --git a/js/tests/services/businesslayer/itembusinesslayerSpec.coffee b/js/tests/services/businesslayer/itembusinesslayerSpec.coffee
index 75804323d..9ac0a9e24 100644
--- a/js/tests/services/businesslayer/itembusinesslayerSpec.coffee
+++ b/js/tests/services/businesslayer/itembusinesslayerSpec.coffee
@@ -264,3 +264,19 @@ describe 'ItemBusinessLayer', ->
expect(@persistence.getNewItems).toHaveBeenCalledWith(
@FeedType.Feed, 3, 4, callback)
+
+
+ it 'should autopage the next items if there are none', =>
+ @NewestItem.handle(13)
+ @persistence.getItems = jasmine.createSpy('autopage')
+ callback = ->
+
+ @ItemModel.add({id: 2, guidHash: 'abc', feedId: 2, status: 16})
+ @ItemModel.add({id: 3, guidHash: 'abcd', feedId: 2, status: 16})
+ @ItemModel.add({id: 1, guidHash: 'abce', feedId: 2, status: 16})
+ @ItemModel.add({id: 6, guidHash: 'abcf', feedId: 2, status: 16})
+
+ @ItemBusinessLayer.loadNext(callback)
+
+ expect(@persistence.getItems).toHaveBeenCalledWith(
+ @FeedType.Feed, 3, 1, jasmine.any(Function)) \ No newline at end of file
diff --git a/js/tests/services/persistenceSpec.coffee b/js/tests/services/persistenceSpec.coffee
index b9250b974..323a41330 100644
--- a/js/tests/services/persistenceSpec.coffee
+++ b/js/tests/services/persistenceSpec.coffee
@@ -74,6 +74,37 @@ describe 'Persistence', ->
expect(@req.get).toHaveBeenCalledWith('news_items', expected)
+ it 'should reset the autopage lock when loading a new feed', =>
+ data =
+ items: []
+ called = 0
+ @req.get.andCallFake (route, params) ->
+ params.onSuccess(data)
+ called++
+
+ success = ->
+ @Persistence.getItems(2, 3, 4, success)
+ @Persistence.getItems(2, 3, 0, success)
+
+ expect(called).toBe(2)
+
+
+ it 'should not send autopage request if reqeust returned nothing', =>
+ data =
+ items: []
+ called = 0
+ @req.get.andCallFake (route, params) ->
+ params.onSuccess(data)
+ called++
+
+ success = ->
+ @Persistence.getItems(2, 3, 4, success)
+ @Persistence.getItems(2, 3, 4, success)
+
+ expect(called).toBe(1)
+
+
+
it 'should send a load new items request', =>
success = ->
params =
@@ -446,3 +477,5 @@ describe 'Persistence', ->
expect(@req.post).toHaveBeenCalledWith('news_usersettings_setcompact',
expected)
+
+