From 8df6d36d49d89f3bb7186b36436606adb039b3f8 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Tue, 16 Apr 2013 13:19:28 +0200 Subject: move instantiation into file where object is declared, fix unittests that overwrote services for all unittests and caused them to fail --- .../businesslayer/businesslayerSpec.coffee | 2 +- .../businesslayer/feedbusinesslayerSpec.coffee | 32 ++-- .../businesslayer/folderbusinesslayerSpec.coffee | 22 ++- .../businesslayer/itembusinesslayerSpec.coffee | 10 +- .../businesslayer/starredbusinesslayerSpec.coffee | 11 +- .../subsriptionsbusinesslayerSpec.coffee | 15 +- js/tests/services/models/feedmodelSpec.coffee | 12 +- js/tests/services/persistenceSpec.coffee | 184 ++++++++++----------- 8 files changed, 151 insertions(+), 137 deletions(-) (limited to 'js/tests/services') diff --git a/js/tests/services/businesslayer/businesslayerSpec.coffee b/js/tests/services/businesslayer/businesslayerSpec.coffee index e93fcedd5..db4cb62a0 100644 --- a/js/tests/services/businesslayer/businesslayerSpec.coffee +++ b/js/tests/services/businesslayer/businesslayerSpec.coffee @@ -27,7 +27,7 @@ describe 'BusinessLayer', -> beforeEach inject (@_BusinessLayer, @ActiveFeed, @FeedType, @ItemModel) => type = @FeedType.Starred - angular.module('News').factory 'Persistence', => + @getItemsSpy = jasmine.createSpy('getItems') @persistence = { getItems: @getItemsSpy diff --git a/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee b/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee index 476d74d30..8e09e7be9 100644 --- a/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee +++ b/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee @@ -25,22 +25,24 @@ describe 'FeedBusinessLayer', -> beforeEach module 'News' - beforeEach => - angular.module('News').factory 'Persistence', => - @setFeedReadSpy = jasmine.createSpy('setFeedRead') - @getItemsSpy = jasmine.createSpy('Get Items') - @persistence = { - setFeedRead: @setFeedReadSpy - getItems: @getItemsSpy - createFeed: -> - } - angular.module('News').factory 'Utils', => - @imagePath = jasmine.createSpy('imagePath') - @utils = { - imagePath: @imagePath - } - + beforeEach module ($provide) => + @setFeedReadSpy = jasmine.createSpy('setFeedRead') + @getItemsSpy = jasmine.createSpy('Get Items') + @persistence = + setFeedRead: @setFeedReadSpy + getItems: @getItemsSpy + createFeed: -> + test: 'feedbusinesslayer' + + @imagePath = jasmine.createSpy('imagePath') + @utils = + imagePath: @imagePath + + $provide.value 'Persistence', @persistence + $provide.value 'Utils', @utils + return + beforeEach inject (@FeedBusinessLayer, @FeedModel, @ItemModel, @FeedType, @ShowAll, @ActiveFeed, @_ExistsError) => @ShowAll.setShowAll(false) diff --git a/js/tests/services/businesslayer/folderbusinesslayerSpec.coffee b/js/tests/services/businesslayer/folderbusinesslayerSpec.coffee index 32573dde5..a4cb80162 100644 --- a/js/tests/services/businesslayer/folderbusinesslayerSpec.coffee +++ b/js/tests/services/businesslayer/folderbusinesslayerSpec.coffee @@ -25,12 +25,18 @@ describe 'FolderBusinessLayer', -> beforeEach module 'News' - beforeEach => - angular.module('News').factory 'Persistence', => - @persistence = - createFolder: -> - createFeed: -> - openFolder: -> + beforeEach module ($provide) => + @persistence = + test: 'folderbusinesslayer' + + @imagePath = jasmine.createSpy('imagePath') + @utils = + imagePath: @imagePath + + $provide.value 'Persistence', @persistence + $provide.value 'Utils', @utils + return + beforeEach inject (@FolderBusinessLayer, @FolderModel, @FeedModel, @ShowAll, @ActiveFeed, @FeedType, @_ExistsError) => @@ -38,7 +44,6 @@ describe 'FolderBusinessLayer', -> @ActiveFeed.handle({type: @FeedType.Feed, id:0}) - it 'should delete folders', => @FolderModel.removeById = jasmine.createSpy('remove') @persistence.deleteFolder = jasmine.createSpy('deletequery') @@ -154,6 +159,7 @@ describe 'FolderBusinessLayer', -> it 'should create a folder before theres a response from the server', => + @persistence.createFolder = jasmine.createSpy('create folder') @FolderBusinessLayer.create('johns') expect(@FolderModel.size()).toBe(1) expect(@FolderModel.getByName('johns').opened).toBe(true) @@ -366,7 +372,7 @@ describe 'FolderBusinessLayer', -> it 'should use an existing folder when importing a folder', => @persistence.createFolder = jasmine.createSpy('create folder') @persistence.createFeed = jasmine.createSpy('create feed') - @persistence.openFolder = jasmine.createSpy('open folder') + @persistence.openFolder = jasmine.createSpy('open') folder = {id: 2, name: 'design', opened: false} @FolderModel.add(folder) diff --git a/js/tests/services/businesslayer/itembusinesslayerSpec.coffee b/js/tests/services/businesslayer/itembusinesslayerSpec.coffee index 0bc8a3188..d5333c1f4 100644 --- a/js/tests/services/businesslayer/itembusinesslayerSpec.coffee +++ b/js/tests/services/businesslayer/itembusinesslayerSpec.coffee @@ -26,14 +26,16 @@ describe 'ItemBusinessLayer', -> beforeEach module 'News' - beforeEach => - angular.module('News').factory 'Persistence', => - @persistence = {} - + beforeEach module ($provide) => + @persistence = {} + $provide.value 'Persistence', @persistence + return + beforeEach inject (@ItemModel, @ItemBusinessLayer, @StatusFlag, @ActiveFeed @FeedType, @FeedModel, @StarredBusinessLayer) => @item1 = {id: 5, title: 'hi', unreadCount:134, urlHash: 'a3', folderId: 3} @FeedModel.add(@item1) + it 'should return all items', => diff --git a/js/tests/services/businesslayer/starredbusinesslayerSpec.coffee b/js/tests/services/businesslayer/starredbusinesslayerSpec.coffee index feefdb181..88b5cbeef 100644 --- a/js/tests/services/businesslayer/starredbusinesslayerSpec.coffee +++ b/js/tests/services/businesslayer/starredbusinesslayerSpec.coffee @@ -25,12 +25,15 @@ describe 'StarredBusinessLayer', -> beforeEach module 'News' - beforeEach => - angular.module('News').factory 'Persistence', => - @persistence = {} + beforeEach module ($provide) => + @persistence = + test: 'starredbusinesslayer' + + $provide.value 'Persistence', @persistence + return beforeEach inject (@StarredBusinessLayer, @StarredCount, @ActiveFeed, - @FeedType) => + @FeedType) => @ActiveFeed.handle({type: @FeedType.Feed, id:0}) @StarredCount.setStarredCount(0) diff --git a/js/tests/services/businesslayer/subsriptionsbusinesslayerSpec.coffee b/js/tests/services/businesslayer/subsriptionsbusinesslayerSpec.coffee index 0047f9437..8ab904c0a 100644 --- a/js/tests/services/businesslayer/subsriptionsbusinesslayerSpec.coffee +++ b/js/tests/services/businesslayer/subsriptionsbusinesslayerSpec.coffee @@ -25,12 +25,13 @@ describe 'SubscriptionsBusinessLayer', -> beforeEach module 'News' - beforeEach => - angular.module('News').factory 'Persistence', => - @setFeedReadSpy = jasmine.createSpy('setFeedRead') - @persistence = { - setFeedRead: @setFeedReadSpy - } + beforeEach module ($provide) => + @persistence = + setFeedRead: jasmine.createSpy('setFeedRead') + test: 'subscriptionsbusinesslayer' + + $provide.value 'Persistence', @persistence + return beforeEach inject (@SubscriptionsBusinessLayer, @ShowAll, @FeedModel, @ActiveFeed, @FeedType) => @@ -71,7 +72,7 @@ describe 'SubscriptionsBusinessLayer', -> @SubscriptionsBusinessLayer.markAllRead() expect(item.unreadCount).toBe(0) - expect(@setFeedReadSpy).toHaveBeenCalled() + expect(@persistence.setFeedRead).toHaveBeenCalled() it 'should get the correct unread count', => diff --git a/js/tests/services/models/feedmodelSpec.coffee b/js/tests/services/models/feedmodelSpec.coffee index c73c2149d..6df9d6e9f 100644 --- a/js/tests/services/models/feedmodelSpec.coffee +++ b/js/tests/services/models/feedmodelSpec.coffee @@ -25,10 +25,14 @@ describe 'FeedModel', -> beforeEach module 'News' - beforeEach => - angular.module('News').factory 'Utils', => - @utils = - imagePath: jasmine.createSpy('utils') + beforeEach module ($provide) => + @imagePath = jasmine.createSpy('imagePath') + @utils = + imagePath: @imagePath + + $provide.value 'Utils', @utils + return + beforeEach inject (@FeedModel, @_Model) => diff --git a/js/tests/services/persistenceSpec.coffee b/js/tests/services/persistenceSpec.coffee index 80a95c758..3fca95cc2 100644 --- a/js/tests/services/persistenceSpec.coffee +++ b/js/tests/services/persistenceSpec.coffee @@ -21,37 +21,24 @@ License along with this library. If not, see . ### -describe '_Persistence', -> - +describe 'Persistence', -> beforeEach module 'News' - beforeEach inject (@_Persistence, @$rootScope) => + beforeEach module ($provide) => @req = - post: jasmine.createSpy('POST') - get: jasmine.createSpy('GET').andCallFake (route, data) -> - if angular.isDefined(data) and data.onSuccess - data.onSuccess() + get: jasmine.createSpy('get') + post: jasmine.createSpy('post') @config = - itemBatchSize: 12 - @active = - getType: -> 3 - getId: -> 1 - @loading = - increase: -> - decrease: -> - - - it 'should should show a loading sign when init', => - loading = - increase: jasmine.createSpy('loading') - decrease: jasmine.createSpy('finished loading') - - pers = new @_Persistence(@req, loading, @config, @active, @$rootScope) - pers.init() + itemBatchSize: 3 - expect(loading.increase).toHaveBeenCalled() - expect(loading.decrease).toHaveBeenCalled() + $provide.value 'Request', @req + $provide.value 'Config', @config + return + + + beforeEach inject (@Persistence) => + ### @@ -66,11 +53,19 @@ describe '_Persistence', -> offset: 3 onSuccess: -> - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.getItems(params.data.type, params.data.id, params.data.offset, - params.onSuccess, null) + @Persistence.getItems(params.data.type, params.data.id, + params.data.offset, params.onSuccess, null) + + expected = + onSuccess: jasmine.any(Function) + onFailure: jasmine.any(Function) + data: + type: 2 + id: 5 + limit: @config.itemBatchSize + offset: 3 - expect(@req.get).toHaveBeenCalledWith('news_items', params) + expect(@req.get).toHaveBeenCalledWith('news_items', expected) it 'should send a load newest items request', => @@ -81,21 +76,31 @@ describe '_Persistence', -> updatedSince: 1333 onSuccess: -> - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.getItems(params.data.type, params.data.id, 0, params.onSuccess, - params.data.updatedSince) + @Persistence.getItems(params.data.type, params.data.id, 0, + params.onSuccess, params.data.updatedSince) - expect(@req.get).toHaveBeenCalledWith('news_items', params) + expected = + onSuccess: jasmine.any(Function) + onFailure: jasmine.any(Function) + data: + type: 2 + id: 5 + updatedSince: 1333 + + expect(@req.get).toHaveBeenCalledWith('news_items', expected) it 'send a correct get starred items request', => params = onSuccess: -> - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.getStarredItems(params.onSuccess) + @Persistence.getStarredItems(params.onSuccess) - expect(@req.get).toHaveBeenCalledWith('news_items_starred', params) + expected = + onSuccess: jasmine.any(Function) + onFailure: jasmine.any(Function) + + expect(@req.get).toHaveBeenCalledWith('news_items_starred', expected) it 'send a correct star item request', => @@ -104,8 +109,7 @@ describe '_Persistence', -> feedId: 2 guidHash: 'dfdfdf' - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.starItem(params.routeParams.feedId, params.routeParams.guidHash) + @Persistence.starItem(params.routeParams.feedId, params.routeParams.guidHash) expect(@req.post).toHaveBeenCalledWith('news_items_star', params) @@ -116,8 +120,8 @@ describe '_Persistence', -> feedId: 2 guidHash: 'dfdfdf' - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.unstarItem(params.routeParams.feedId, params.routeParams.guidHash) + @Persistence.unstarItem(params.routeParams.feedId, + params.routeParams.guidHash) expect(@req.post).toHaveBeenCalledWith('news_items_unstar', params) @@ -128,8 +132,7 @@ describe '_Persistence', -> itemId: 2 - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.readItem(params.routeParams.itemId) + @Persistence.readItem(params.routeParams.itemId) expect(@req.post).toHaveBeenCalledWith('news_items_read', params) @@ -139,8 +142,7 @@ describe '_Persistence', -> routeParams: itemId: 2 - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.unreadItem(params.routeParams.itemId) + @Persistence.unreadItem(params.routeParams.itemId) expect(@req.post).toHaveBeenCalledWith('news_items_unread', params) @@ -150,14 +152,17 @@ describe '_Persistence', -> FEED CONTROLLER ### it 'should get all feeds', => - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) params = onSuccess: -> - pers.getAllFeeds(params.onSuccess) + @Persistence.getAllFeeds(params.onSuccess) + + expected = + onSuccess: jasmine.any(Function) + onFailure: jasmine.any(Function) - expect(@req.get).toHaveBeenCalledWith('news_feeds', params) + expect(@req.get).toHaveBeenCalledWith('news_feeds', expected) it 'create a correct request for moving a feed', => @@ -167,8 +172,7 @@ describe '_Persistence', -> routeParams: feedId: 3 - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.moveFeed(params.routeParams.feedId, params.data.parentFolderId) + @Persistence.moveFeed(params.routeParams.feedId, params.data.parentFolderId) expect(@req.post).toHaveBeenCalledWith('news_feeds_move', params) @@ -180,8 +184,7 @@ describe '_Persistence', -> routeParams: feedId: 3 - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.setFeedRead(params.routeParams.feedId, params.data.highestItemId) + @Persistence.setFeedRead(params.routeParams.feedId, params.data.highestItemId) expect(@req.post).toHaveBeenCalledWith('news_feeds_read', params) @@ -192,8 +195,7 @@ describe '_Persistence', -> routeParams: feedId: 3 - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.updateFeed(params.routeParams.feedId) + @Persistence.updateFeed(params.routeParams.feedId) expect(@req.post).toHaveBeenCalledWith('news_feeds_update', params) @@ -202,10 +204,13 @@ describe '_Persistence', -> params = onSuccess: -> - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.getActiveFeed(params.onSuccess) + @Persistence.getActiveFeed(params.onSuccess) - expect(@req.get).toHaveBeenCalledWith('news_feeds_active', params) + expected = + onSuccess: jasmine.any(Function) + onFailure: jasmine.any(Function) + + expect(@req.get).toHaveBeenCalledWith('news_feeds_active', expected) it 'send a correct feed delete request', => @@ -213,8 +218,7 @@ describe '_Persistence', -> routeParams: feedId: 3 - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.deleteFeed(params.routeParams.feedId) + @Persistence.deleteFeed(params.routeParams.feedId) expect(@req.post).toHaveBeenCalledWith('news_feeds_delete', params) @@ -227,8 +231,7 @@ describe '_Persistence', -> onSuccess: -> onFailure: -> - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.createFeed(params.data.url, params.data.parentFolderId, + @Persistence.createFeed(params.data.url, params.data.parentFolderId, params.onSuccess, params.onFailure) expect(@req.post).toHaveBeenCalledWith('news_feeds_create', params) @@ -242,10 +245,13 @@ describe '_Persistence', -> params = onSuccess: -> - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.getAllFolders(params.onSuccess) + @Persistence.getAllFolders(params.onSuccess) + + expected = + onSuccess: jasmine.any(Function) + onFailure: jasmine.any(Function) - expect(@req.get).toHaveBeenCalledWith('news_folders', params) + expect(@req.get).toHaveBeenCalledWith('news_folders', expected) it 'send a correct collapse folder request', => @@ -253,8 +259,7 @@ describe '_Persistence', -> routeParams: folderId: 3 - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.collapseFolder(params.routeParams.folderId) + @Persistence.collapseFolder(params.routeParams.folderId) expect(@req.post).toHaveBeenCalledWith('news_folders_collapse', params) @@ -264,8 +269,7 @@ describe '_Persistence', -> routeParams: folderId: 3 - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.openFolder(params.routeParams.folderId) + @Persistence.openFolder(params.routeParams.folderId) expect(@req.post).toHaveBeenCalledWith('news_folders_open', params) @@ -278,8 +282,7 @@ describe '_Persistence', -> onSuccess: -> 1 onFailure: -> 2 - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.createFolder(params.data.folderName, params.data.parentFolderId, + @Persistence.createFolder(params.data.folderName, params.data.parentFolderId, params.onSuccess, params.onFailure) expect(@req.post).toHaveBeenCalledWith('news_folders_create', params) @@ -290,8 +293,7 @@ describe '_Persistence', -> routeParams: folderId: 2 - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.deleteFolder(params.routeParams.folderId) + @Persistence.deleteFolder(params.routeParams.folderId) expect(@req.post).toHaveBeenCalledWith('news_folders_delete', params) @@ -303,8 +305,7 @@ describe '_Persistence', -> data: folderName: 'host' - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.renameFolder(params.routeParams.folderId, params.data.folderName) + @Persistence.renameFolder(params.routeParams.folderId, params.data.folderName) expect(@req.post).toHaveBeenCalledWith('news_folders_rename', params) @@ -313,8 +314,7 @@ describe '_Persistence', -> EXPORT CONTROLLER ### it 'should have an export request', => - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.exportOPML() + @Persistence.exportOPML() expect(@req.get).toHaveBeenCalledWith('news_export_opml') @@ -323,52 +323,48 @@ describe '_Persistence', -> USERSETTINGS CONTROLLER ### it 'should do a proper get user settings read request', => - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) params = onSuccess: -> - pers.userSettingsRead(params.onSuccess) + @Persistence.userSettingsRead(params.onSuccess) - expect(@req.get).toHaveBeenCalledWith('news_usersettings_read', params) + expected = + onSuccess: jasmine.any(Function) + onFailure: jasmine.any(Function) - - it 'should do a proper get user settings read req and call callback', => - params = - onSuccess: -> - 1 + 1 - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) - pers.userSettingsRead(params.onSuccess) - - expect(@req.get).toHaveBeenCalledWith('news_usersettings_read', params) + expect(@req.get).toHaveBeenCalledWith('news_usersettings_read', expected) + it 'should do a proper user settings read show request', => - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) params = onSuccess: -> - pers.userSettingsReadShow(params.onSuccess) + @Persistence.userSettingsReadShow(params.onSuccess) expect(@req.post).toHaveBeenCalledWith('news_usersettings_read_show', params) it 'should do a proper user settings read hide request', => - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) params = onSuccess: -> - pers.userSettingsReadHide(params.onSuccess) + @Persistence.userSettingsReadHide(params.onSuccess) expect(@req.post).toHaveBeenCalledWith('news_usersettings_read_hide', params) it 'should do a proper user settings language request', => - pers = new @_Persistence(@req, @loading, @config, @active, @$rootScope) params = onSuccess: -> - pers.userSettingsLanguage(params.onSuccess) + + @Persistence.userSettingsLanguage(params.onSuccess) + + expected = + onSuccess: jasmine.any(Function) + onFailure: jasmine.any(Function) expect(@req.get).toHaveBeenCalledWith('news_usersettings_language', - params) \ No newline at end of file + expected) \ No newline at end of file -- cgit v1.2.3