##// END OF EJS Templates
Speeds up rendering of the project list for users who belong to hundreds of projects....
Speeds up rendering of the project list for users who belong to hundreds of projects. git-svn-id: http://svn.redmine.org/redmine/trunk@16123 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r14856:cda9c63d9c21
r15741:f8df935dcada
Show More
message_test.rb
184 lines | 5.9 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Adds the ability to move threads between project forums (#2452). 'Edit message' permission is required....
r2560 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Jean-Philippe Lang
Adds the ability to move threads between project forums (#2452). 'Edit message' permission is required....
r2560 #
# 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/message_test.rb....
r6596 #
Jean-Philippe Lang
Adds the ability to move threads between project forums (#2452). 'Edit message' permission is required....
r2560 # 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/message_test.rb....
r6596 #
Jean-Philippe Lang
Adds the ability to move threads between project forums (#2452). 'Edit message' permission is required....
r2560 # 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
Per project forums added....
r526
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class MessageTest < ActiveSupport::TestCase
Jean-Baptiste Barth
Fixed some more test/unit/*_test.rb breaking when run alone (#12285)...
r10564 fixtures :projects, :roles, :members, :member_roles, :boards, :messages,
:users, :watchers, :enabled_modules
Jean-Philippe Lang
Per project forums added....
r526
def setup
@board = Board.find(1)
@user = User.find(1)
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596
Jean-Philippe Lang
Per project forums added....
r526 def test_create
topics_count = @board.topics_count
messages_count = @board.messages_count
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596
Toshi MARUYAMA
code layout clean up of test/unit/message_test.rb...
r7433 message = Message.new(:board => @board, :subject => 'Test message',
:content => 'Test message content',
:author => @user)
Jean-Philippe Lang
Per project forums added....
r526 assert message.save
@board.reload
# topics count incremented
Toshi MARUYAMA
code layout clean up unit message test...
r10968 assert_equal topics_count + 1, @board[:topics_count]
Jean-Philippe Lang
Per project forums added....
r526 # messages count incremented
Toshi MARUYAMA
code layout clean up unit message test...
r10968 assert_equal messages_count + 1, @board[:messages_count]
Jean-Philippe Lang
Per project forums added....
r526 assert_equal message, @board.last_message
Jean-Philippe Lang
Adds watch/unwatch functionality at forum topic level (#1912)....
r1876 # author should be watching the message
assert message.watched_by?(@user)
Jean-Philippe Lang
Per project forums added....
r526 end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596
Jean-Philippe Lang
Per project forums added....
r526 def test_reply
topics_count = @board.topics_count
messages_count = @board.messages_count
Toshi MARUYAMA
not use unnecessary instance variable at unit message test...
r10969 message = Message.find(1)
replies_count = message.replies_count
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596
Jean-Philippe Lang
Adds watch/unwatch functionality at forum topic level (#1912)....
r1876 reply_author = User.find(2)
Toshi MARUYAMA
code layout clean up of test/unit/message_test.rb...
r7433 reply = Message.new(:board => @board, :subject => 'Test reply',
:content => 'Test reply content',
Toshi MARUYAMA
not use unnecessary instance variable at unit message test...
r10969 :parent => message, :author => reply_author)
Jean-Philippe Lang
Per project forums added....
r526 assert reply.save
@board.reload
# same topics count
assert_equal topics_count, @board[:topics_count]
# messages count incremented
assert_equal messages_count+1, @board[:messages_count]
assert_equal reply, @board.last_message
Toshi MARUYAMA
not use unnecessary instance variable at unit message test...
r10969 message.reload
Jean-Philippe Lang
Per project forums added....
r526 # replies count incremented
Toshi MARUYAMA
not use unnecessary instance variable at unit message test...
r10969 assert_equal replies_count+1, message[:replies_count]
assert_equal reply, message.last_reply
Jean-Philippe Lang
Adds watch/unwatch functionality at forum topic level (#1912)....
r1876 # author should be watching the message
Toshi MARUYAMA
not use unnecessary instance variable at unit message test...
r10969 assert message.watched_by?(reply_author)
Jean-Philippe Lang
Per project forums added....
r526 end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596
Toshi MARUYAMA
add unit message test of cannot reply to a locked topic...
r7434 def test_cannot_reply_to_locked_topic
topics_count = @board.topics_count
messages_count = @board.messages_count
Toshi MARUYAMA
not use unnecessary instance variable at unit message test...
r10969 message = Message.find(1)
replies_count = message.replies_count
assert_equal false, message.locked
message.locked = true
assert message.save
assert_equal true, message.locked
Toshi MARUYAMA
add unit message test of cannot reply to a locked topic...
r7434
reply_author = User.find(2)
reply = Message.new(:board => @board, :subject => 'Test reply',
:content => 'Test reply content',
Toshi MARUYAMA
not use unnecessary instance variable at unit message test...
r10969 :parent => message, :author => reply_author)
Toshi MARUYAMA
add unit message test of cannot reply to a locked topic...
r7434 reply.save
assert_equal 1, reply.errors.count
end
Jean-Philippe Lang
Adds the ability to move threads between project forums (#2452). 'Edit message' permission is required....
r2560 def test_moving_message_should_update_counters
Toshi MARUYAMA
not use unnecessary instance variable at unit message test...
r10969 message = Message.find(1)
Jean-Philippe Lang
Adds the ability to move threads between project forums (#2452). 'Edit message' permission is required....
r2560 assert_no_difference 'Message.count' do
# Previous board
assert_difference 'Board.find(1).topics_count', -1 do
Toshi MARUYAMA
not use unnecessary instance variable at unit message test...
r10969 assert_difference 'Board.find(1).messages_count', -(1 + message.replies_count) do
Jean-Philippe Lang
Adds the ability to move threads between project forums (#2452). 'Edit message' permission is required....
r2560 # New board
assert_difference 'Board.find(2).topics_count' do
Toshi MARUYAMA
not use unnecessary instance variable at unit message test...
r10969 assert_difference 'Board.find(2).messages_count', (1 + message.replies_count) do
message.update_attributes(:board_id => 2)
Jean-Philippe Lang
Adds the ability to move threads between project forums (#2452). 'Edit message' permission is required....
r2560 end
end
end
end
end
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596
Jean-Philippe Lang
Forums enhancements:...
r913 def test_destroy_topic
message = Message.find(1)
board = message.board
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596 topics_count, messages_count = board.topics_count, board.messages_count
Jean-Philippe Lang
Adds watch/unwatch functionality at forum topic level (#1912)....
r1876 assert_difference('Watcher.count', -1) do
assert message.destroy
end
Jean-Philippe Lang
Forums enhancements:...
r913 board.reload
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596
Jean-Philippe Lang
Forums enhancements:...
r913 # Replies deleted
Toshi MARUYAMA
Rails4: replace deprecated find_all_by_* at MessageTest...
r12221 assert Message.where(:parent_id => 1).empty?
Jean-Philippe Lang
Forums enhancements:...
r913 # Checks counters
assert_equal topics_count - 1, board.topics_count
assert_equal messages_count - 3, board.messages_count
Jean-Philippe Lang
Adds watch/unwatch functionality at forum topic level (#1912)....
r1876 # Watchers removed
Jean-Philippe Lang
Forums enhancements:...
r913 end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596
Jean-Philippe Lang
Forums enhancements:...
r913 def test_destroy_reply
message = Message.find(5)
board = message.board
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596 topics_count, messages_count = board.topics_count, board.messages_count
Jean-Philippe Lang
Forums enhancements:...
r913 assert message.destroy
board.reload
# Checks counters
assert_equal topics_count, board.topics_count
assert_equal messages_count - 1, board.messages_count
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596
Jean-Philippe Lang
Fixed that deleting the last reply of a topic does not update last_reply_id....
r9756 def test_destroying_last_reply_should_update_topic_last_reply_id
topic = Message.find(4)
assert_equal 6, topic.last_reply_id
assert_difference 'Message.count', -1 do
Message.find(6).destroy
end
assert_equal 5, topic.reload.last_reply_id
assert_difference 'Message.count', -1 do
Message.find(5).destroy
end
assert_nil topic.reload.last_reply_id
end
Jean-Philippe Lang
Adds permissions to let users edit and/or delete their messages (#854, patch by Markus Knittig with slight changes)....
r2017 def test_editable_by
message = Message.find(6)
author = message.author
assert message.editable_by?(author)
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 author.roles_for_project(message.project).first.remove_permission!(:edit_own_messages)
Jean-Philippe Lang
Adds permissions to let users edit and/or delete their messages (#854, patch by Markus Knittig with slight changes)....
r2017 assert !message.reload.editable_by?(author.reload)
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596
Jean-Philippe Lang
Adds permissions to let users edit and/or delete their messages (#854, patch by Markus Knittig with slight changes)....
r2017 def test_destroyable_by
message = Message.find(6)
author = message.author
assert message.destroyable_by?(author)
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 author.roles_for_project(message.project).first.remove_permission!(:delete_own_messages)
Jean-Philippe Lang
Adds permissions to let users edit and/or delete their messages (#854, patch by Markus Knittig with slight changes)....
r2017 assert !message.reload.destroyable_by?(author.reload)
end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/message_test.rb....
r6596
Jean-Philippe Lang
Fixed: editing a message may cause sticky attribute to be NULL (#3356)....
r2687 def test_set_sticky
message = Message.new
assert_equal 0, message.sticky
message.sticky = nil
assert_equal 0, message.sticky
message.sticky = false
assert_equal 0, message.sticky
message.sticky = true
assert_equal 1, message.sticky
message.sticky = '0'
assert_equal 0, message.sticky
message.sticky = '1'
assert_equal 1, message.sticky
end
Jean-Philippe Lang
Per project forums added....
r526 end