summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-04-22 12:31:38 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-04-22 12:31:38 +0200
commitac5c8f5f4faae74c034a5cfd1e7f85ca26815bc5 (patch)
treec86a85a6c0da342fd020067ffd5725c881f7b5f2 /js
parent6c7883d284640d02d79fc48cbbaaff9c95e62461 (diff)
add unittest for feedcontroller, fix #51, dont activate add button if input does not contain characters
Diffstat (limited to 'js')
-rw-r--r--js/app/controllers/feedcontroller.coffee7
-rw-r--r--js/public/app.js9
-rw-r--r--js/test-results.xml187
-rw-r--r--js/tests/controllers/feedcontrollerSpec.coffee175
4 files changed, 221 insertions, 157 deletions
diff --git a/js/app/controllers/feedcontroller.coffee b/js/app/controllers/feedcontroller.coffee
index d5975588b..2d1147b23 100644
--- a/js/app/controllers/feedcontroller.coffee
+++ b/js/app/controllers/feedcontroller.coffee
@@ -68,7 +68,6 @@ ActiveFeed, FeedType, $window) ->
return @_isAddingFeed
@_$scope.addFeed = (feedUrl, parentFolderId=0) =>
- @_$scope.feedEmptyError = false
@_$scope.feedExistsError = false
try
@@ -89,13 +88,10 @@ ActiveFeed, FeedType, $window) ->
catch error
if error instanceof _ExistsError
@_$scope.feedExistsError = true
- else
- @_$scope.feedEmptyError = true
@_isAddingFeed = false
@_$scope.addFolder = (folderName) =>
- @_$scope.folderEmptyError = false
@_$scope.folderExistsError = false
try
@@ -116,10 +112,7 @@ ActiveFeed, FeedType, $window) ->
catch error
if error instanceof _ExistsError
@_$scope.folderExistsError = true
- else
- @_$scope.folderEmptyError = true
@_isAddingFolder = false
- @_$scope.addNewFolder = true
@_$scope.$on 'moveFeedToFolder', (scope, data) =>
diff --git a/js/public/app.js b/js/public/app.js
index 8922625ab..38c2c6219 100644
--- a/js/public/app.js
+++ b/js/public/app.js
@@ -362,7 +362,6 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
if (parentFolderId == null) {
parentFolderId = 0;
}
- _this._$scope.feedEmptyError = false;
_this._$scope.feedExistsError = false;
try {
_this._isAddingFeed = true;
@@ -380,8 +379,6 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
error = _error;
if (error instanceof _ExistsError) {
_this._$scope.feedExistsError = true;
- } else {
- _this._$scope.feedEmptyError = true;
}
return _this._isAddingFeed = false;
}
@@ -389,7 +386,6 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
this._$scope.addFolder = function(folderName) {
var error;
- _this._$scope.folderEmptyError = false;
_this._$scope.folderExistsError = false;
try {
_this._isAddingFolder = true;
@@ -408,11 +404,8 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
error = _error;
if (error instanceof _ExistsError) {
_this._$scope.folderExistsError = true;
- } else {
- _this._$scope.folderEmptyError = true;
}
- _this._isAddingFolder = false;
- return _this._$scope.addNewFolder = true;
+ return _this._isAddingFolder = false;
}
};
this._$scope.$on('moveFeedToFolder', function(scope, data) {
diff --git a/js/test-results.xml b/js/test-results.xml
index c6fcaac7d..0121cd694 100644
--- a/js/test-results.xml
+++ b/js/test-results.xml
@@ -1,123 +1,150 @@
<?xml version="1.0"?>
<testsuites>
- <testsuite name="PhantomJS 1.9 (Linux)" package="undefined" timestamp="2013-04-18T14:48:48" id="0" hostname="archtop" tests="175" errors="0" failures="0" time="0.409">
+ <testsuite name="PhantomJS 1.9 (Linux)" package="undefined" timestamp="2013-04-22T10:25:28" id="0" hostname="archtop" tests="204" errors="0" failures="0" time="0.484">
<properties>
<property name="browser.fullName" value="Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.0 Safari/534.34"/>
</properties>
<testcase name="isAddingFolder should return false in the beginning" time="0.023" classname="PhantomJS 1.9 (Linux).FeedController"/>
<testcase name="isAddingFeed should return false in the beginning" time="0.003" classname="PhantomJS 1.9 (Linux).FeedController"/>
- <testcase name="should make unreadCountFormatter available" time="0.002" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should make unreadCountFormatter available" time="0.008" classname="PhantomJS 1.9 (Linux).FeedController"/>
<testcase name="should make FeedBusinessLayer available" time="0.002" classname="PhantomJS 1.9 (Linux).FeedController"/>
- <testcase name="should make FolderBusinessLayer available" time="0.008" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should make FolderBusinessLayer available" time="0.003" classname="PhantomJS 1.9 (Linux).FeedController"/>
<testcase name="should make SubscriptionsBusinessLayer available" time="0.002" classname="PhantomJS 1.9 (Linux).FeedController"/>
<testcase name="should make StarredBusinessLayer available" time="0.002" classname="PhantomJS 1.9 (Linux).FeedController"/>
- <testcase name="should not add folders that have no name" time="0.003" classname="PhantomJS 1.9 (Linux).FeedController"/>
- <testcase name="should make ItemBusinessLayer availabe" time="0.002" classname="PhantomJS 1.9 (Linux).ItemController"/>
- <testcase name="should make FeedBusinessLayer availabe" time="0.002" classname="PhantomJS 1.9 (Linux).ItemController"/>
+ <testcase name="should set the window title to the total unread count" time="0.003" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should show 999+ if in window title when more than 999 unread count" time="0.002" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should move a feed if moveFeedToFolder is broadcasted" time="0.004" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should set isAddingFolder to true if there were no problems" time="0.002" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should set isAddingFolder to false after a failed request" time="0.002" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should show an error if the folder exists and reset the input" time="0.003" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should reset the add folder form and set the created as selected" time="0.002" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should set isAddingFeed to true if there were no problems" time="0.003" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should set isAddingFeed to false after a failed request" time="0.002" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should show an error if the feed exists and reset the input" time="0.002" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should open the parent folder of the added feed" time="0.002" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should reset the add feed form and load the added feed" time="0.003" classname="PhantomJS 1.9 (Linux).FeedController"/>
+ <testcase name="should make ItemBusinessLayer availabe" time="0.003" classname="PhantomJS 1.9 (Linux).ItemController"/>
+ <testcase name="should make FeedBusinessLayer availabe" time="0.01" classname="PhantomJS 1.9 (Linux).ItemController"/>
+ <testcase name="should make feedloading available" time="0.002" classname="PhantomJS 1.9 (Linux).ItemController"/>
+ <testcase name="should make autopagin available" time="0.002" classname="PhantomJS 1.9 (Linux).ItemController"/>
+ <testcase name="should return the feedtitle" time="0.002" classname="PhantomJS 1.9 (Linux).ItemController"/>
+ <testcase name="should return no value if feedtitle is not found" time="0.002" classname="PhantomJS 1.9 (Linux).ItemController"/>
+ <testcase name="should return no value if relative date gets no value" time="0.002" classname="PhantomJS 1.9 (Linux).ItemController"/>
+ <testcase name="should set an item read on readItem broadcast" time="0.002" classname="PhantomJS 1.9 (Linux).ItemController"/>
+ <testcase name="should not autopage if there are no items" time="0.004" classname="PhantomJS 1.9 (Linux).ItemController"/>
+ <testcase name="should autoPage with the lowest Item Id" time="0.002" classname="PhantomJS 1.9 (Linux).ItemController"/>
+ <testcase name="should not prevent autopaging if there are no items" time="0.002" classname="PhantomJS 1.9 (Linux).ItemController"/>
+ <testcase name="should not send multiple autopage requests at once" time="0.003" classname="PhantomJS 1.9 (Linux).ItemController"/>
+ <testcase name="should allow another autopaging request if the last one finished" time="0.002" classname="PhantomJS 1.9 (Linux).ItemController"/>
<testcase name="should make FeedBl available" time="0.002" classname="PhantomJS 1.9 (Linux).SettingsController"/>
<testcase name="should show an error if the xml import failed" time="0.003" classname="PhantomJS 1.9 (Linux).SettingsController"/>
<testcase name="should set showall to true if importing" time="0.002" classname="PhantomJS 1.9 (Linux).SettingsController"/>
+ <testcase name="should set showall to true if importing json" time="0.002" classname="PhantomJS 1.9 (Linux).SettingsController"/>
+ <testcase name="should show an error if the json import failed" time="0.002" classname="PhantomJS 1.9 (Linux).SettingsController"/>
+ <testcase name="should import json" time="0.002" classname="PhantomJS 1.9 (Linux).SettingsController"/>
<testcase name="should be Subscriptions by default" time="0.001" classname="PhantomJS 1.9 (Linux).ActiveFeed"/>
<testcase name="should set the correct feed id" time="0.001" classname="PhantomJS 1.9 (Linux).ActiveFeed"/>
<testcase name="should set the correct feed type" time="0.001" classname="PhantomJS 1.9 (Linux).ActiveFeed"/>
<testcase name="should reset the item cache when a different feed is being loaded" time="0.002" classname="PhantomJS 1.9 (Linux).BusinessLayer"/>
- <testcase name="should send a get all items query when feed changed" time="0.003" classname="PhantomJS 1.9 (Linux).BusinessLayer"/>
+ <testcase name="should send a get all items query when feed changed" time="0.002" classname="PhantomJS 1.9 (Linux).BusinessLayer"/>
<testcase name="should be active when its selected" time="0.001" classname="PhantomJS 1.9 (Linux).BusinessLayer"/>
<testcase name="should delete feeds" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
- <testcase name="should return the number of unread feeds" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should return the number of unread feeds" time="0.003" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should return all feeds of a folder" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should get the correct unread count for folders" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should mark feed as read" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should mark feed as read and set 0 if as highest id if its not active" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should mark all as read" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should get the correct unread count for subscribtions" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
- <testcase name="should return the correct number of feeds" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
- <testcase name="should be visible if its active" time="0.008" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should return the correct number of feeds" time="0.012" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should be visible if its active" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should be visible if show all is true" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should be visible if unreadcount bigger than 0" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should not move the feed to a new folder" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should not move the feed to the same folder" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
- <testcase name="should set the show all setting" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
- <testcase name="should set the hide read setting" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
- <testcase name="should return all feeds" time="0.001" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should set the show all setting" time="0.001" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should set the hide read setting" time="0.001" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should return all feeds" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should return if ShowAll is set" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
- <testcase name="should return all feeds of a folder" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
- <testcase name="should return the correct feed link" time="0.001" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
- <testcase name="should not create a feed if it already exists" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should return all feeds of a folder" time="0.001" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should return the correct feed link" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should not create a feed if it already exists" time="0.003" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should not create feeds that are empty" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should create a feed before theres a response from the server" time="0.001" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
- <testcase name="should set a title and an url hash to the newly crated feed" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
- <testcase name="should make a create feed request" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should set a title and an url to the newly created feed" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should not add http when it already is at the start of created feed" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should make a create feed request" time="0.001" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should call the onSuccess function on response status ok" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should call the handle a response error when creating a folder" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should mark a feed error as read by removing it" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
- <testcase name="should update all feeds" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
- <testcase name="should not update feeds without ids" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should not import google reader json" time="0.001" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should not create a google reader feed if it already exists" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
+ <testcase name="should create an import google reader request" time="0.002" classname="PhantomJS 1.9 (Linux).FeedBusinessLayer"/>
<testcase name="should delete folders" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
<testcase name="should return true when folder has feeds" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
<testcase name="should toggle folder" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
<testcase name="should mark folder as read" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should get the correct unread count" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
+ <testcase name="should get the correct unread count" time="0.001" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
<testcase name="should be visible if show all is true" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
<testcase name="should be visible if its active" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should be visible if one of its subfeeds is active" time="0.009" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
+ <testcase name="should be visible if one of its subfeeds is active" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
<testcase name="should be visible if showAll is false and it has unread items" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should return all folders" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should not create a folder if it already exists" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
+ <testcase name="should return all folders" time="0.001" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
+ <testcase name="should not create a folder if it already exists" time="0.001" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
<testcase name="should not create folders that are empty" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
<testcase name="should create a folder before theres a response from the server" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should make a create folder request" time="0.001" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should call the onSuccess function on response status ok" time="0.001" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should call the handle a response error when creating a folder" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should mark a folder error as read by removing it" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
+ <testcase name="should make a create folder request" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
+ <testcase name="should call the onSuccess function on response status ok" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
+ <testcase name="should call the handle a response error when creating a folder" time="0.013" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
+ <testcase name="should mark a folder error as read by removing it" time="0.003" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
<testcase name="should return the corret folder for id" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should open a folder" time="0.002" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should not import on empty opml" time="0.006" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should import a folder" time="0.004" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should import a feed" time="0.003" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
+ <testcase name="should open a folder" time="0.003" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
+ <testcase name="should not import on empty opml" time="0.008" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
+ <testcase name="should import a folder" time="0.008" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
+ <testcase name="should import a feed" time="0.006" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
<testcase name="should import nested folders" time="0.004" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should use an existing folder when importing a folder" time="0.003" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
+ <testcase name="should use an existing folder when importing a folder" time="0.01" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
<testcase name="should not import a feed if it already exists" time="0.004" classname="PhantomJS 1.9 (Linux).FolderBusinessLayer"/>
- <testcase name="should return all items" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
+ <testcase name="should return all items" time="0.003" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
<testcase name="should tell if no feed is active" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
<testcase name="should return the correct feed title" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
- <testcase name="should set an item unstarred" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
- <testcase name="should set an item starred" time="0.001" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
- <testcase name="should set an item read" time="0.001" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
- <testcase name="should not set an item read if its kept unread" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
+ <testcase name="should set an item unstarred" time="0.003" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
+ <testcase name="should set an item starred" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
+ <testcase name="should set an item read" time="0.003" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
+ <testcase name="should not set an item read if its kept unread" time="0.001" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
<testcase name="should no set an item read if its already read" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
- <testcase name="should return false when item kept unread does not exist" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
+ <testcase name="should return false when item kept unread does not exist" time="0.001" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
<testcase name="should return false if an item is not kept unread" time="0.001" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
- <testcase name="should toggle an item as kept unread" time="0.011" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
+ <testcase name="should toggle an item as kept unread" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
<testcase name="should set an item as unread" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
- <testcase name="should not set an item as unread if its unread" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
+ <testcase name="should not set an item as unread if its unread" time="0.001" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
<testcase name="should set item as unread if kept unread is toggled and it is read" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
<testcase name="should lower the unread count of a feed when its items get read" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
<testcase name="should increase the unread count of a feed when its items get unread" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
- <testcase name="should load the next items" time="0.002" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
- <testcase name="should not be visible if starredCount is 0" time="0.002" classname="PhantomJS 1.9 (Linux).StarredBusinessLayer"/>
+ <testcase name="should load the next items" time="0.001" classname="PhantomJS 1.9 (Linux).ItemBusinessLayer"/>
+ <testcase name="should not be visible if starredCount is 0" time="0.001" classname="PhantomJS 1.9 (Linux).StarredBusinessLayer"/>
<testcase name="should always be visible if its the active feed" time="0.002" classname="PhantomJS 1.9 (Linux).StarredBusinessLayer"/>
- <testcase name="should get the correct unread count" time="0.002" classname="PhantomJS 1.9 (Linux).StarredBusinessLayer"/>
+ <testcase name="should get the correct unread count" time="0.001" classname="PhantomJS 1.9 (Linux).StarredBusinessLayer"/>
<testcase name="should increase the starred count" time="0.001" classname="PhantomJS 1.9 (Linux).StarredBusinessLayer"/>
<testcase name="should decrease the starred count" time="0.001" classname="PhantomJS 1.9 (Linux).StarredBusinessLayer"/>
- <testcase name="should be visible shows all items is set to true and there are feeds" time="0.003" classname="PhantomJS 1.9 (Linux).SubscriptionsBusinessLayer"/>
- <testcase name="should not be visible if there are no feeds" time="0.002" classname="PhantomJS 1.9 (Linux).SubscriptionsBusinessLayer"/>
- <testcase name="should not be visible if showall is false + there are no unread" time="0.002" classname="PhantomJS 1.9 (Linux).SubscriptionsBusinessLayer"/>
+ <testcase name="should be visible shows all items is set to true and there are feeds" time="0.002" classname="PhantomJS 1.9 (Linux).SubscriptionsBusinessLayer"/>
+ <testcase name="should not be visible if there are no feeds" time="0.001" classname="PhantomJS 1.9 (Linux).SubscriptionsBusinessLayer"/>
+ <testcase name="should not be visible if showall is false + there are no unread" time="0.001" classname="PhantomJS 1.9 (Linux).SubscriptionsBusinessLayer"/>
<testcase name="should always be visible if its the active feed" time="0.002" classname="PhantomJS 1.9 (Linux).SubscriptionsBusinessLayer"/>
- <testcase name="should mark all feeds as read" time="0.002" classname="PhantomJS 1.9 (Linux).SubscriptionsBusinessLayer"/>
- <testcase name="should get the correct unread count" time="0.005" classname="PhantomJS 1.9 (Linux).SubscriptionsBusinessLayer"/>
- <testcase name="should have the correct folder number" time="0.002" classname="PhantomJS 1.9 (Linux).FeedType"/>
+ <testcase name="should mark all feeds as read" time="0.001" classname="PhantomJS 1.9 (Linux).SubscriptionsBusinessLayer"/>
+ <testcase name="should get the correct unread count" time="0.002" classname="PhantomJS 1.9 (Linux).SubscriptionsBusinessLayer"/>
<testcase name="should have the correct folder number" time="0.002" classname="PhantomJS 1.9 (Linux).FeedType"/>
<testcase name="should have the correct folder number" time="0.001" classname="PhantomJS 1.9 (Linux).FeedType"/>
- <testcase name="should have the correct folder number" time="0.002" classname="PhantomJS 1.9 (Linux).FeedType"/>
+ <testcase name="should have the correct folder number" time="0.001" classname="PhantomJS 1.9 (Linux).FeedType"/>
+ <testcase name="should have the correct folder number" time="0.001" classname="PhantomJS 1.9 (Linux).FeedType"/>
<testcase name="should have the correct folder number" time="0.001" classname="PhantomJS 1.9 (Linux).FeedType"/>
<testcase name="should be en by default" time="0.002" classname="PhantomJS 1.9 (Linux).Language"/>
- <testcase name="should set the correct language" time="0.007" classname="PhantomJS 1.9 (Linux).Language"/>
- <testcase name="should only set the first part of the language if not available" time="0.003" classname="PhantomJS 1.9 (Linux).Language"/>
- <testcase name="should default to en" time="0.001" classname="PhantomJS 1.9 (Linux).Language"/>
+ <testcase name="should set the correct language" time="0.001" classname="PhantomJS 1.9 (Linux).Language"/>
+ <testcase name="should only set the first part of the language if not available" time="0.001" classname="PhantomJS 1.9 (Linux).Language"/>
+ <testcase name="should default to en" time="0.015" classname="PhantomJS 1.9 (Linux).Language"/>
<testcase name="should support languages" time="0.002" classname="PhantomJS 1.9 (Linux).Language"/>
<testcase name="should extend _Model" time="0.002" classname="PhantomJS 1.9 (Linux).FeedModel"/>
- <testcase name="should bind an imagepath to the item if the url is empty" time="0.001" classname="PhantomJS 1.9 (Linux).FeedModel"/>
+ <testcase name="should bind an imagepath to the item if the url is empty" time="0.002" classname="PhantomJS 1.9 (Linux).FeedModel"/>
<testcase name="should add feeds without id" time="0.002" classname="PhantomJS 1.9 (Linux).FeedModel"/>
<testcase name="should clear the url cache" time="0.001" classname="PhantomJS 1.9 (Linux).FeedModel"/>
<testcase name="should delete items from the fodername cache" time="0.002" classname="PhantomJS 1.9 (Linux).FeedModel"/>
@@ -125,55 +152,57 @@
<testcase name="should update normally" time="0.001" classname="PhantomJS 1.9 (Linux).FeedModel"/>
<testcase name="should clear invalidate the query cache on adding folder with name" time="0.002" classname="PhantomJS 1.9 (Linux).FeedModel"/>
<testcase name="should only update feeds that contain only an id but no url" time="0.001" classname="PhantomJS 1.9 (Linux).FeedModel"/>
- <testcase name="should extend model" time="0.001" classname="PhantomJS 1.9 (Linux).FolderModel"/>
- <testcase name="should add folders without id but name if they dont exist yet" time="0.002" classname="PhantomJS 1.9 (Linux).FolderModel"/>
+ <testcase name="should extend model" time="0.002" classname="PhantomJS 1.9 (Linux).FolderModel"/>
+ <testcase name="should add folders without id but name if they dont exist yet" time="0.001" classname="PhantomJS 1.9 (Linux).FolderModel"/>
<testcase name="should clear the fodername cache" time="0.001" classname="PhantomJS 1.9 (Linux).FolderModel"/>
- <testcase name="should delete items from the fodername cache" time="0.002" classname="PhantomJS 1.9 (Linux).FolderModel"/>
+ <testcase name="should delete items from the fodername cache" time="0.001" classname="PhantomJS 1.9 (Linux).FolderModel"/>
<testcase name="should update by foldername" time="0.001" classname="PhantomJS 1.9 (Linux).FolderModel"/>
- <testcase name="should update the id if an update comes in with an id" time="0.012" classname="PhantomJS 1.9 (Linux).FolderModel"/>
- <testcase name="should update normally" time="0.002" classname="PhantomJS 1.9 (Linux).FolderModel"/>
+ <testcase name="should update the id if an update comes in with an id" time="0.002" classname="PhantomJS 1.9 (Linux).FolderModel"/>
+ <testcase name="should update normally" time="0.001" classname="PhantomJS 1.9 (Linux).FolderModel"/>
<testcase name="should clear invalidate the query cache on adding folder with name" time="0.001" classname="PhantomJS 1.9 (Linux).FolderModel"/>
- <testcase name="should extend model" time="0.002" classname="PhantomJS 1.9 (Linux).ItemModel"/>
- <testcase name="should also update items with the same feed id and guidhash" time="0.002" classname="PhantomJS 1.9 (Linux).ItemModel"/>
+ <testcase name="should extend model" time="0.001" classname="PhantomJS 1.9 (Linux).ItemModel"/>
+ <testcase name="should also update items with the same feed id and guidhash" time="0.001" classname="PhantomJS 1.9 (Linux).ItemModel"/>
<testcase name="should also remove the feed from the url cache when its removed" time="0.002" classname="PhantomJS 1.9 (Linux).ItemModel"/>
<testcase name="should bind the correct isRead() method to the item" time="0.001" classname="PhantomJS 1.9 (Linux).ItemModel"/>
<testcase name="should bind the correct set unread method to the item" time="0.001" classname="PhantomJS 1.9 (Linux).ItemModel"/>
<testcase name="should bind the correct set starred method to the item" time="0.002" classname="PhantomJS 1.9 (Linux).ItemModel"/>
<testcase name="should bind the correct set unstarred method to the item" time="0.001" classname="PhantomJS 1.9 (Linux).ItemModel"/>
- <testcase name="should return the lowest id" time="0.002" classname="PhantomJS 1.9 (Linux).ItemModel"/>
+ <testcase name="should return the lowest id" time="0.001" classname="PhantomJS 1.9 (Linux).ItemModel"/>
<testcase name="should return only the root folder when parsing empty OPML" time="0.004" classname="PhantomJS 1.9 (Linux).OPMLParser"/>
<testcase name="should parse folders" time="0.003" classname="PhantomJS 1.9 (Linux).OPMLParser"/>
<testcase name="should parse feeds" time="0.003" classname="PhantomJS 1.9 (Linux).OPMLParser"/>
- <testcase name="should nest feeds" time="0.004" classname="PhantomJS 1.9 (Linux).OPMLParser"/>
+ <testcase name="should nest feeds" time="0.003" classname="PhantomJS 1.9 (Linux).OPMLParser"/>
<testcase name="should send a autopaging request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
<testcase name="should send a load newest items request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
<testcase name="send a correct get starred items request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
- <testcase name="send a correct star item request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
- <testcase name="send a correct unstar item request" time="0.001" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="send a correct star item request" time="0.001" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="send a correct unstar item request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
<testcase name="send a correct read item request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
- <testcase name="send a correct unread item request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="send a correct unread item request" time="0.001" classname="PhantomJS 1.9 (Linux).Persistence"/>
<testcase name="should get all feeds" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="should not show loading sign if disabled" time="0.001" classname="PhantomJS 1.9 (Linux).Persistence"/>
<testcase name="create a correct request for moving a feed" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
- <testcase name="shoud send a correct request for marking all items read" time="0.001" classname="PhantomJS 1.9 (Linux).Persistence"/>
- <testcase name="send a correct feed update request" time="0.001" classname="PhantomJS 1.9 (Linux).Persistence"/>
- <testcase name="send a correct get active feed request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="shoud send a correct request for marking all items read" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="send a correct feed update request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="send a correct get active feed request" time="0.001" classname="PhantomJS 1.9 (Linux).Persistence"/>
<testcase name="send a correct feed delete request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
- <testcase name="send a correct feed create request" time="0.001" classname="PhantomJS 1.9 (Linux).Persistence"/>
- <testcase name="should do a proper get all folders request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="send a correct feed create request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="should do a proper import google reader request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="should do a proper get all folders request" time="0.001" classname="PhantomJS 1.9 (Linux).Persistence"/>
<testcase name="send a correct collapse folder request" time="0.001" classname="PhantomJS 1.9 (Linux).Persistence"/>
<testcase name="send a correct open folder request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
<testcase name="should do a proper folder create request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
<testcase name="should do a proper folder delete request" time="0.001" classname="PhantomJS 1.9 (Linux).Persistence"/>
<testcase name="should do a proper folder rename request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
- <testcase name="should have an export request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
- <testcase name="should do a proper get user settings read request" time="0.001" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="should have an export request" time="0.016" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="should do a proper get user settings read request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
<testcase name="should do a proper user settings read show request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
- <testcase name="should do a proper user settings read hide request" time="0.002" classname="PhantomJS 1.9 (Linux).Persistence"/>
- <testcase name="should do a proper user settings language request" time="0.011" classname="PhantomJS 1.9 (Linux).Persistence"/>
- <testcase name="should be false by default" time="0.002" classname="PhantomJS 1.9 (Linux).ShowAll"/>
- <testcase name="should set the correct ShowAll value" time="0.001" classname="PhantomJS 1.9 (Linux).ShowAll"/>
+ <testcase name="should do a proper user settings read hide request" time="0.001" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="should do a proper user settings language request" time="0.003" classname="PhantomJS 1.9 (Linux).Persistence"/>
+ <testcase name="should be false by default" time="0.001" classname="PhantomJS 1.9 (Linux).ShowAll"/>
+ <testcase name="should set the correct ShowAll value" time="0.002" classname="PhantomJS 1.9 (Linux).ShowAll"/>
<testcase name="should provide a set Showall setter" time="0.001" classname="PhantomJS 1.9 (Linux).ShowAll"/>
- <testcase name="should be 0 by default" time="0.002" classname="PhantomJS 1.9 (Linux).StarredCount"/>
+ <testcase name="should be 0 by default" time="0.001" classname="PhantomJS 1.9 (Linux).StarredCount"/>
<testcase name="should set the correct StarredCount count" time="0.001" classname="PhantomJS 1.9 (Linux).StarredCount"/>
<testcase name="should provide a setter" time="0.001" classname="PhantomJS 1.9 (Linux).StarredCount"/>
<testcase name="should have the correct status flags" time="0.002" classname="PhantomJS 1.9 (Linux).StatusFlag"/>
diff --git a/js/tests/controllers/feedcontrollerSpec.coffee b/js/tests/controllers/feedcontrollerSpec.coffee
index 133ab57ee..69098b646 100644
--- a/js/tests/controllers/feedcontrollerSpec.coffee
+++ b/js/tests/controllers/feedcontrollerSpec.coffee
@@ -26,17 +26,26 @@ describe 'FeedController', ->
beforeEach module 'News'
beforeEach module ($provide) =>
+ @imagePath = jasmine.createSpy('imagePath')
+ @utils =
+ imagePath: @imagePath
+ $provide.value 'Utils', @utils
+
@persistence = {}
+
$provide.value 'Persistence', @persistence
return
beforeEach inject ($controller, @FolderBusinessLayer, @FeedBusinessLayer,
- $rootScope, @unreadCountFormatter,
- @SubscriptionsBusinessLayer, @StarredBusinessLayer) =>
+ $rootScope, @unreadCountFormatter, @FeedModel,
+ @SubscriptionsBusinessLayer, @StarredBusinessLayer,
+ @$window, @_ExistsError, @FolderModel, @FeedType) =>
@scope = $rootScope.$new()
replace =
$scope: @scope
+ @$window.document.title = ''
+
@controller = $controller('FeedController', replace)
@@ -64,103 +73,143 @@ describe 'FeedController', ->
expect(@scope.subscriptionsBusinessLayer).toBe(
@SubscriptionsBusinessLayer)
+
it 'should make StarredBusinessLayer available', =>
expect(@scope.starredBusinessLayer).toBe(@StarredBusinessLayer)
- it 'should not add folders that have no name', =>
- @persistence.createFolder = jasmine.createSpy('create')
- @scope.addFolder(' ')
- expect(@scope.folderEmptyError).toBeTruthy()
- expect(@persistence.createFolder).not.toHaveBeenCalled()
+ it 'should set the window title to the total unread count', =>
+ expect(@$window.document.title).toBe('')
+ @scope.getTotalUnreadCount()
+ expect(@$window.document.title).toBe('News | ownCloud')
+
+ item = {id: 3, unreadCount: 5, faviconLink: 'test', url: 'hi'}
+ @FeedModel.add(item)
+ @scope.getTotalUnreadCount()
+
+ expect(@$window.document.title).toBe('News (5) | ownCloud')
- xit 'should not add folders that already exist client side', =>
- @FolderModel.add({id: 3, name: 'ola'})
- @persistence.createFolder = jasmine.createSpy('create')
- @scope.addFolder(' Ola')
- expect(@scope.folderExistsError).toBeTruthy()
- expect(@persistence.createFolder).not.toHaveBeenCalled()
+ it 'should show 999+ if in window title when more than 999 unread count', =>
+ item = {id: 3, unreadCount: 1, faviconLink: 'test', url: 'hi'}
+ item1 = {id: 5, unreadCount: 999, faviconLink: 'test', url: 'his'}
+ @FeedModel.add(item)
+ @FeedModel.add(item1)
+ @scope.getTotalUnreadCount()
- xit 'should set isAddingFolder to true if there were no problems', =>
+ expect(@$window.document.title).toBe('News (999+) | ownCloud')
+
+
+ it 'should move a feed if moveFeedToFolder is broadcasted', =>
+ item = {id: 3, unreadCount: 1, faviconLink: 'test', url: 'hi'}
+ @FeedModel.add(item)
+ @persistence.moveFeed = jasmine.createSpy('move feed')
+ @scope.$broadcast 'moveFeedToFolder', {feedId: 3, folderId: 1}
+
+ expect(@persistence.moveFeed).toHaveBeenCalledWith(3, 1)
+
+
+ it 'should set isAddingFolder to true if there were no problems', =>
@persistence.createFolder = jasmine.createSpy('create')
@scope.addFolder(' Ola')
- expect(@scope.isAddingFolder()).toBeTruthy()
+ expect(@scope.isAddingFolder()).toBe(true)
- xit