Mercurial > hg > soundsoftware-site
diff test/unit/watcher_test.rb @ 524:1248a47e81b3 feature_36
Merge from branch "luisf"
author | luisf <luis.figueira@eecs.qmul.ac.uk> |
---|---|
date | Mon, 25 Jul 2011 14:39:38 +0100 |
parents | cbce1fd3b1b7 |
children | cbb26bc654de |
line wrap: on
line diff
--- a/test/unit/watcher_test.rb Fri Jul 15 17:21:05 2011 +0100 +++ b/test/unit/watcher_test.rb Mon Jul 25 14:39:38 2011 +0100 @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -require File.dirname(__FILE__) + '/../test_helper' +require File.expand_path('../../test_helper', __FILE__) class WatcherTest < ActiveSupport::TestCase fixtures :projects, :users, :members, :member_roles, :roles, :enabled_modules, @@ -47,12 +47,44 @@ assert Issue.watched_by(@user).include?(@issue) end + def test_watcher_users + watcher_users = Issue.find(2).watcher_users + assert_kind_of Array, watcher_users + assert_kind_of User, watcher_users.first + end + + def test_watcher_users_should_not_validate_user + User.update_all("firstname = ''", "id=1") + @user.reload + assert !@user.valid? + + issue = Issue.new(:project => Project.find(1), :tracker_id => 1, :subject => "test", :author => User.find(2)) + issue.watcher_users << @user + issue.save! + assert issue.watched_by?(@user) + end + def test_watcher_user_ids + assert_equal [1, 3], Issue.find(2).watcher_user_ids.sort + end + + def test_watcher_user_ids= issue = Issue.new issue.watcher_user_ids = ['1', '3'] assert issue.watched_by?(User.find(1)) end + def test_addable_watcher_users + addable_watcher_users = @issue.addable_watcher_users + assert_kind_of Array, addable_watcher_users + assert_kind_of User, addable_watcher_users.first + end + + def test_addable_watcher_users_should_not_include_user_that_cannot_view_the_object + issue = Issue.new(:project => Project.find(1), :is_private => true) + assert_nil issue.addable_watcher_users.detect {|user| !issue.visible?(user)} + end + def test_recipients @issue.watchers.delete_all @issue.reload @@ -60,15 +92,15 @@ assert @issue.watcher_recipients.empty? assert @issue.add_watcher(@user) - @user.mail_notification = true - @user.save + @user.mail_notification = 'all' + @user.save! @issue.reload assert @issue.watcher_recipients.include?(@user.mail) - @user.mail_notification = false - @user.save + @user.mail_notification = 'none' + @user.save! @issue.reload - assert @issue.watcher_recipients.include?(@user.mail) + assert !@issue.watcher_recipients.include?(@user.mail) end def test_unwatch