summaryrefslogtreecommitdiffstats
path: root/js/tests
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-09-14 02:22:36 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-09-14 02:22:44 +0200
commitdf8f6b5fee643c5b2af8e8d33a7865e898518485 (patch)
tree7100d25d814d5f4b4cf502c9e2b9e6dd5f562ab3 /js/tests
parent67d7754c364147c274790a76dab7cbfedd352645 (diff)
implement pull to refresh, fix #44
Diffstat (limited to 'js/tests')
-rw-r--r--js/tests/controllers/itemcontrollerSpec.coffee15
-rw-r--r--js/tests/services/businesslayer/itembusinesslayerSpec.coffee16
-rw-r--r--js/tests/services/models/itemmodelSpec.coffee11
-rw-r--r--js/tests/services/persistenceSpec.coffee16
4 files changed, 57 insertions, 1 deletions
diff --git a/js/tests/controllers/itemcontrollerSpec.coffee b/js/tests/controllers/itemcontrollerSpec.coffee
index b06e16a9c..27fc82f71 100644
--- a/js/tests/controllers/itemcontrollerSpec.coffee
+++ b/js/tests/controllers/itemcontrollerSpec.coffee
@@ -169,3 +169,18 @@ describe 'ItemController', ->
expect(@persistence.getItems.callCount).toBe(2)
+
+ it 'should set refresh to true when pull to refresh is activated', =>
+ @ItemBusinessLayer.loadNew = ->
+
+ @scope.loadNew()
+ expect(@scope.refresh).toBe(true)
+
+
+ it 'should set refresh to false after load next was successful', =>
+ @ItemBusinessLayer.loadNew = jasmine.createSpy('loadNew')
+ @ItemBusinessLayer.loadNew.andCallFake (callback) ->
+ callback()
+
+ @scope.loadNew()
+ expect(@scope.refresh).toBe(false) \ No newline at end of file
diff --git a/js/tests/services/businesslayer/itembusinesslayerSpec.coffee b/js/tests/services/businesslayer/itembusinesslayerSpec.coffee
index e14ba54b3..75804323d 100644
--- a/js/tests/services/businesslayer/itembusinesslayerSpec.coffee
+++ b/js/tests/services/businesslayer/itembusinesslayerSpec.coffee
@@ -248,3 +248,19 @@ describe 'ItemBusinessLayer', ->
expect(@persistence.getItems).toHaveBeenCalledWith(
@FeedType.Feed, 3, 1, jasmine.any(Function))
+
+
+ it 'should load the next items', =>
+ @NewestItem.handle(13)
+ @persistence.getNewItems = jasmine.createSpy('loadnew')
+ callback = ->
+
+ @ItemModel.add({id: 2, guidHash: 'abc', feedId: 2, lastModified: 2})
+ @ItemModel.add({id: 3, guidHash: 'abcd', feedId: 2, lastModified: 4})
+ @ItemModel.add({id: 1, guidHash: 'abce', feedId: 2, lastModified: 3})
+ @ItemModel.add({id: 6, guidHash: 'abcf', feedId: 2, lastModified: 1})
+
+ @ItemBusinessLayer.loadNew(callback)
+
+ expect(@persistence.getNewItems).toHaveBeenCalledWith(
+ @FeedType.Feed, 3, 4, callback)
diff --git a/js/tests/services/models/itemmodelSpec.coffee b/js/tests/services/models/itemmodelSpec.coffee
index 4decc7918..d2fed6630 100644
--- a/js/tests/services/models/itemmodelSpec.coffee
+++ b/js/tests/services/models/itemmodelSpec.coffee
@@ -110,4 +110,13 @@ describe 'ItemModel', ->
@ItemModel.add({id: 1, guidHash: 'abce', feedId: 2, status: 16})
@ItemModel.add({id: 6, guidHash: 'abcf', feedId: 2, status: 16})
- expect(@ItemModel.getLowestId()).toBe(1) \ No newline at end of file
+ expect(@ItemModel.getLowestId()).toBe(1)
+
+
+ it 'should return the highest lastModified', =>
+ @ItemModel.add({id: 2, guidHash: 'abc', feedId: 2, lastModified: 3})
+ @ItemModel.add({id: 3, guidHash: 'abcd', feedId: 2, lastModified: 13})
+ @ItemModel.add({id: 1, guidHash: 'abce', feedId: 2, lastModified: 15})
+ @ItemModel.add({id: 6, guidHash: 'abcf', feedId: 2, lastModified: 11})
+
+ expect(@ItemModel.getLastModified()).toBe(15) \ No newline at end of file
diff --git a/js/tests/services/persistenceSpec.coffee b/js/tests/services/persistenceSpec.coffee
index e9f12f669..38e02705a 100644
--- a/js/tests/services/persistenceSpec.coffee
+++ b/js/tests/services/persistenceSpec.coffee
@@ -74,6 +74,22 @@ describe 'Persistence', ->
expect(@req.get).toHaveBeenCalledWith('news_items', expected)
+ it 'should send a load new items request', =>
+ success = ->
+ params =
+ data:
+ type: 2
+ id: 5
+ lastModified: 3
+ onSuccess: success
+ onFailure: success
+
+ @Persistence.getNewItems(params.data.type, params.data.id,
+ params.data.lastModified, success)
+
+ expect(@req.get).toHaveBeenCalledWith('news_items_new', params)
+
+
it 'send a correct star item request', =>
params =
routeParams: