diff --git a/app/helpers/watchers_helper.rb b/app/helpers/watchers_helper.rb index f1cc0702d..28f912bbc 100644 --- a/app/helpers/watchers_helper.rb +++ b/app/helpers/watchers_helper.rb @@ -27,6 +27,7 @@ module WatchersHelper def watcher_link(objects, user) return '' unless user && user.logged? objects = Array.wrap(objects) + return '' unless objects.any? watched = Watcher.any_watched?(objects, user) css = [watcher_css(objects), watched ? 'icon icon-fav' : 'icon icon-fav-off'].join(' ') diff --git a/test/unit/helpers/watchers_helper_test.rb b/test/unit/helpers/watchers_helper_test.rb index def4ffad8..bf8740cd8 100644 --- a/test/unit/helpers/watchers_helper_test.rb +++ b/test/unit/helpers/watchers_helper_test.rb @@ -57,6 +57,10 @@ class WatchersHelperTest < ActionView::TestCase assert_equal expected, watcher_link([Issue.find(1), Issue.find(3)], User.find(1)) end + def test_watcher_link_with_nil_should_return_empty_string + assert_equal '', watcher_link(nil, User.find(1)) + end + test '#watcher_link with a watched object' do Watcher.create!(:watchable => Issue.find(1), :user => User.find(1))