##// END OF EJS Templates
When copying issues, let the status be changed to default or left unchanged....
When copying issues, let the status be changed to default or left unchanged. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9404 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r9141:706f8b1691cd
r9270:09375960d69d
Show More
watcher_test.rb
157 lines | 4.7 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Makes user unwatch what he can no longer view after its permissions have changed (#3589)....
r3053 # Redmine - project management software
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634 # Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634 #
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634 #
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class WatcherTest < ActiveSupport::TestCase
Jean-Philippe Lang
Makes user unwatch what he can no longer view after its permissions have changed (#3589)....
r3053 fixtures :projects, :users, :members, :member_roles, :roles, :enabled_modules,
:issues,
:boards, :messages,
:wikis, :wiki_pages,
:watchers
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450
def setup
@user = User.find(1)
@issue = Issue.find(1)
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Toshi MARUYAMA
add unit test to validate watcher...
r7951 def test_validate
user = User.find(5)
assert !user.active?
watcher = Watcher.new(:user_id => user.id)
assert !watcher.save
end
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 def test_watch
assert @issue.add_watcher(@user)
@issue.reload
assert @issue.watchers.detect { |w| w.user == @user }
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 def test_cant_watch_twice
assert @issue.add_watcher(@user)
assert !@issue.add_watcher(@user)
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 def test_watched_by
assert @issue.add_watcher(@user)
@issue.reload
assert @issue.watched_by?(@user)
assert Issue.watched_by(@user).include?(@issue)
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Fixed: validation error on issue creation when trying to add an invalid user as a watcher (#5373)....
r5760 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
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Fixed: validation error on issue creation when trying to add an invalid user as a watcher (#5373)....
r5760 def test_watcher_users_should_not_validate_user
User.update_all("firstname = ''", "id=1")
@user.reload
assert !@user.valid?
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Fixed: validation error on issue creation when trying to add an invalid user as a watcher (#5373)....
r5760 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
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Fixed: watchers selection lost when issue creation fails (#5406). #watched_by? was fixed in order to work with #watcher_user_ids= used in controllers on unsaved objects....
r3591 def test_watcher_user_ids
Jean-Philippe Lang
Fixed: validation error on issue creation when trying to add an invalid user as a watcher (#5373)....
r5760 assert_equal [1, 3], Issue.find(2).watcher_user_ids.sort
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Fixed: validation error on issue creation when trying to add an invalid user as a watcher (#5373)....
r5760 def test_watcher_user_ids=
Jean-Philippe Lang
Fixed: watchers selection lost when issue creation fails (#5406). #watched_by? was fixed in order to work with #watcher_user_ids= used in controllers on unsaved objects....
r3591 issue = Issue.new
issue.watcher_user_ids = ['1', '3']
assert issue.watched_by?(User.find(1))
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Override watcher_user_ids= to make ids uniq (#10538)....
r9141 def test_watcher_user_ids_should_make_ids_uniq
issue = Issue.new(:project => Project.find(1), :tracker_id => 1, :subject => "test", :author => User.find(2))
issue.watcher_user_ids = ['1', '3', '1']
issue.save!
assert_equal 2, issue.watchers.count
end
Jean-Philippe Lang
Do not propose users that can't view an issue as watchers (#7412)....
r5756 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
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Do not propose users that can't view an issue as watchers (#7412)....
r5756 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
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 def test_recipients
@issue.watchers.delete_all
@issue.reload
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 assert @issue.watcher_recipients.empty?
assert @issue.add_watcher(@user)
Jean-Philippe Lang
Fixed: Email notifications are sent to watchers even if 'No events' setting is chosen (#7763)....
r4884 @user.mail_notification = 'all'
@user.save!
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 @issue.reload
assert @issue.watcher_recipients.include?(@user.mail)
Jean-Philippe Lang
Fixed: Email notifications are sent to watchers even if 'No events' setting is chosen (#7763)....
r4884 @user.mail_notification = 'none'
@user.save!
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 @issue.reload
Jean-Philippe Lang
Fixed: Email notifications are sent to watchers even if 'No events' setting is chosen (#7763)....
r4884 assert !@issue.watcher_recipients.include?(@user.mail)
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 def test_unwatch
assert @issue.add_watcher(@user)
@issue.reload
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634 assert_equal 1, @issue.remove_watcher(@user)
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Makes user unwatch what he can no longer view after its permissions have changed (#3589)....
r3053 def test_prune
Watcher.delete_all("user_id = 9")
user = User.find(9)
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Makes user unwatch what he can no longer view after its permissions have changed (#3589)....
r3053 # public
Watcher.create!(:watchable => Issue.find(1), :user => user)
Watcher.create!(:watchable => Issue.find(2), :user => user)
Watcher.create!(:watchable => Message.find(1), :user => user)
Watcher.create!(:watchable => Wiki.find(1), :user => user)
Watcher.create!(:watchable => WikiPage.find(2), :user => user)
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Makes user unwatch what he can no longer view after its permissions have changed (#3589)....
r3053 # private project (id: 2)
Member.create!(:project => Project.find(2), :principal => user, :role_ids => [1])
Watcher.create!(:watchable => Issue.find(4), :user => user)
Watcher.create!(:watchable => Message.find(7), :user => user)
Watcher.create!(:watchable => Wiki.find(2), :user => user)
Watcher.create!(:watchable => WikiPage.find(3), :user => user)
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Makes user unwatch what he can no longer view after its permissions have changed (#3589)....
r3053 assert_no_difference 'Watcher.count' do
Watcher.prune(:user => User.find(9))
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Makes user unwatch what he can no longer view after its permissions have changed (#3589)....
r3053 Member.delete_all
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Makes user unwatch what he can no longer view after its permissions have changed (#3589)....
r3053 assert_difference 'Watcher.count', -4 do
Watcher.prune(:user => User.find(9))
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/watcher_test.rb....
r6634
Jean-Philippe Lang
Makes user unwatch what he can no longer view after its permissions have changed (#3589)....
r3053 assert Issue.find(1).watched_by?(user)
assert !Issue.find(4).watched_by?(user)
end
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 end