summaryrefslogtreecommitdiffstats
path: root/js/tests
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-04-26 11:20:55 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-04-26 11:52:50 +0200
commitf987751d8c5c7a3ee660411afb9d01e6a822aed5 (patch)
tree9eb35d0575c62648b7f50e6c94afb808366cf05c /js/tests
parentd947c35d05ddb12dad591d29a9b0f948c5f4f732 (diff)
order by pubdate on the client side fix #115
Diffstat (limited to 'js/tests')
-rw-r--r--js/tests/controllers/itemcontrollerSpec.coffee18
-rw-r--r--js/tests/services/businesslayer/feedbusinesslayerSpec.coffee6
-rw-r--r--js/tests/services/businesslayer/itembusinesslayerSpec.coffee6
-rw-r--r--js/tests/services/models/itemmodelSpec.coffee9
-rw-r--r--js/tests/services/newestitemSpec.coffee39
-rw-r--r--js/tests/services/persistenceSpec.coffee27
6 files changed, 63 insertions, 42 deletions
diff --git a/js/tests/controllers/itemcontrollerSpec.coffee b/js/tests/controllers/itemcontrollerSpec.coffee
index d700dc89f..3a7e6712a 100644
--- a/js/tests/controllers/itemcontrollerSpec.coffee
+++ b/js/tests/controllers/itemcontrollerSpec.coffee
@@ -40,7 +40,7 @@ describe 'ItemController', ->
beforeEach inject ($controller, @ItemBusinessLayer, @FeedBusinessLayer,
$rootScope, @FeedLoading, @AutoPageLoading, @FeedModel, @ItemModel,
- @ActiveFeed, @FeedType) =>
+ @ActiveFeed, @FeedType, @NewestItem) =>
@ActiveFeed.handle({type: @FeedType.Folder, id: 3})
@scope = $rootScope.$new()
@@ -101,7 +101,9 @@ describe 'ItemController', ->
expect(@persistence.getItems).not.toHaveBeenCalled()
- it 'should autoPage with the lowest Item Id', =>
+ it 'should autoPage with the newest Item Id', =>
+ @NewestItem.handle(25)
+
@persistence.getItems = jasmine.createSpy('getItems')
item1 = {id: 4, guidHash: 'abc', feedId: 3}
@ItemModel.add(item1)
@@ -114,11 +116,12 @@ describe 'ItemController', ->
@scope.$broadcast 'autoPage'
expect(@persistence.getItems).toHaveBeenCalledWith(
- @FeedType.Folder, 3, 3, jasmine.any(Function)
+ @FeedType.Folder, 3, 3, 25, jasmine.any(Function)
)
it 'should not prevent autopaging if there are no items', =>
+ @NewestItem.handle(25)
@scope.$broadcast 'autoPage'
@persistence.getItems = jasmine.createSpy('getItems')
@@ -127,11 +130,12 @@ describe 'ItemController', ->
@scope.$broadcast 'autoPage'
expect(@persistence.getItems).toHaveBeenCalledWith(
- @FeedType.Folder, 3, 3, jasmine.any(Function)
+ @FeedType.Folder, 3, 1, 25, jasmine.any(Function)
)
it 'should not send multiple autopage requests at once', =>
+ @NewestItem.handle(25)
@persistence.getItems = jasmine.createSpy('getItems')
item1 = {id: 3, guidHash: 'abcd', feedId: 3}
@ItemModel.add(item1)
@@ -144,13 +148,15 @@ describe 'ItemController', ->
@scope.$broadcast 'autoPage'
expect(@persistence.getItems).not.toHaveBeenCalledWith(
- @FeedType.Folder, 2, 3, jasmine.any(Function)
+ @FeedType.Folder, 2, 1, 25, jasmine.any(Function)
)
it 'should allow another autopaging request if the last one finished', =>
+ @NewestItem.handle(25)
@persistence.getItems = jasmine.createSpy('getItems')
- @persistence.getItems.andCallFake (type, id, offset, onSuccess) ->
+ @persistence.getItems.andCallFake (type, id, offset, newestItemId,
+ onSuccess) ->
onSuccess()
item1 = {id: 3, guidHash: 'abcd', feedId: 3}
diff --git a/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee b/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee
index 833af6da8..1c663d279 100644
--- a/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee
+++ b/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee
@@ -44,7 +44,8 @@ describe 'FeedBusinessLayer', ->
beforeEach inject (@FeedBusinessLayer, @FeedModel, @ItemModel, @FeedType,
- @ShowAll, @ActiveFeed, @_ExistsError, @$timeout) =>
+ @ShowAll, @ActiveFeed, @_ExistsError, @$timeout,
+ @NewestItem) =>
@ShowAll.setShowAll(false)
@ActiveFeed.handle({type: @FeedType.Folder, id:0})
@@ -93,6 +94,7 @@ describe 'FeedBusinessLayer', ->
it 'should mark feed as read', =>
+ @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'})
@@ -101,7 +103,7 @@ describe 'FeedBusinessLayer', ->
@ItemModel.add({id: 2, feedId: 5, guidHash: 'a3'})
@FeedBusinessLayer.markFeedRead(5)
- expect(@persistence.setFeedRead).toHaveBeenCalledWith(5, 6)
+ 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()
diff --git a/js/tests/services/businesslayer/itembusinesslayerSpec.coffee b/js/tests/services/businesslayer/itembusinesslayerSpec.coffee
index 0b8358f2a..4b8d520ee 100644
--- a/js/tests/services/businesslayer/itembusinesslayerSpec.coffee
+++ b/js/tests/services/businesslayer/itembusinesslayerSpec.coffee
@@ -32,7 +32,8 @@ describe 'ItemBusinessLayer', ->
return
beforeEach inject (@ItemModel, @ItemBusinessLayer, @StatusFlag, @ActiveFeed
- @FeedType, @FeedModel, @StarredBusinessLayer) =>
+ @FeedType, @FeedModel, @StarredBusinessLayer,
+ @NewestItem) =>
@item1 = {id: 5, title: 'hi', unreadCount:134, url: 'a3', folderId: 3}
@FeedModel.add(@item1)
@ActiveFeed.handle({type: @FeedType.Feed, id: 3})
@@ -234,6 +235,7 @@ describe 'ItemBusinessLayer', ->
it 'should load the next items', =>
+ @NewestItem.handle(13)
@persistence.getItems = jasmine.createSpy('autopage')
callback = ->
@@ -245,4 +247,4 @@ describe 'ItemBusinessLayer', ->
@ItemBusinessLayer.loadNext(callback)
expect(@persistence.getItems).toHaveBeenCalledWith(
- @FeedType.Feed, 3, 1, jasmine.any(Function))
+ @FeedType.Feed, 3, 4, 13, jasmine.any(Function))
diff --git a/js/tests/services/models/itemmodelSpec.coffee b/js/tests/services/models/itemmodelSpec.coffee
index 2171f12ea..b4a74d122 100644
--- a/js/tests/services/models/itemmodelSpec.coffee
+++ b/js/tests/services/models/itemmodelSpec.coffee
@@ -102,12 +102,3 @@ describe 'ItemModel', ->
item.setUnstarred()
expect(@ItemModel.getById(3).isStarred()).toBe(false)
-
-
- it 'should return the lowest id', =>
- @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})
-
- expect(@ItemModel.getLowestId()).toBe(1) \ No newline at end of file
diff --git a/js/tests/services/newestitemSpec.coffee b/js/tests/services/newestitemSpec.coffee
new file mode 100644
index 000000000..715ca2079
--- /dev/null
+++ b/js/tests/services/newestitemSpec.coffee
@@ -0,0 +1,39 @@
+###
+
+ownCloud - News
+
+@author Bernhard Posselt
+@copyright 2012 Bernhard Posselt nukeawhale@gmail.com
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+License as published by the Free Software Foundation; either
+version 3 of the License, or any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+
+You should have received a copy of the GNU Affero General Public
+License along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+###
+
+
+describe 'NewestItem', ->
+
+ beforeEach module 'News'
+
+ beforeEach inject (@NewestItem) =>
+ @data = 5
+
+
+ it 'should be 0 by default', =>
+ expect(@NewestItem.getId()).toBe(0)
+
+
+ it 'should set the correct feed id', =>
+ @NewestItem.handle(@data)
+ expect(@NewestItem.getId()).toBe(5)
+
diff --git a/js/tests/services/persistenceSpec.coffee b/js/tests/services/persistenceSpec.coffee
index 90bd82783..91d732c5e 100644
--- a/js/tests/services/persistenceSpec.coffee
+++ b/js/tests/services/persistenceSpec.coffee
@@ -56,10 +56,12 @@ describe 'Persistence', ->
id: 5
limit: @config.itemBatchSize
offset: 3
+ newestItemId: 4
onSuccess: ->
@Persistence.getItems(params.data.type, params.data.id,
- params.data.offset, params.onSuccess, null)
+ params.data.offset, params.data.newestItemId,
+ params.onSuccess)
expected =
onSuccess: jasmine.any(Function)
@@ -69,28 +71,7 @@ describe 'Persistence', ->
id: 5
limit: @config.itemBatchSize
offset: 3
-
- expect(@req.get).toHaveBeenCalledWith('news_items', expected)
-
-
- it 'should send a load newest items request', =>
- params =
- data:
- type: 2
- id: 5
- updatedSince: 1333
- onSuccess: ->
-
- @Persistence.getItems(params.data.type, params.data.id, 0,
- params.onSuccess, params.data.updatedSince)
-
- expected =
- onSuccess: jasmine.any(Function)
- onFailure: jasmine.any(Function)
- data:
- type: 2
- id: 5
- updatedSince: 1333
+ newestItemId: 4
expect(@req.get).toHaveBeenCalledWith('news_items', expected)