diff test/unit/.svn/text-base/watcher_test.rb.svn-base @ 441:cbce1fd3b1b7 redmine-1.2

Update to Redmine 1.2-stable branch (Redmine SVN rev 6000)
author Chris Cannam
date Mon, 06 Jun 2011 14:24:13 +0100
parents 8661b858af72
children
line wrap: on
line diff
--- a/test/unit/.svn/text-base/watcher_test.rb.svn-base	Thu Mar 03 11:42:28 2011 +0000
+++ b/test/unit/.svn/text-base/watcher_test.rb.svn-base	Mon Jun 06 14:24:13 2011 +0100
@@ -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