|
|
@@ -1,16 +1,16 @@ |
|
|
|
# redMine - project management software |
|
|
|
# Copyright (C) 2006-2007 Jean-Philippe Lang |
|
|
|
# Redmine - project management software |
|
|
|
# Copyright (C) 2006-2011 Jean-Philippe Lang |
|
|
|
# |
|
|
|
# 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. |
|
|
|
# |
|
|
|
# |
|
|
|
# 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. |
|
|
|
# |
|
|
|
# |
|
|
|
# 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. |
|
|
@@ -23,14 +23,14 @@ class MessagesController; def rescue_action(e) raise e end; end |
|
|
|
|
|
|
|
class MessagesControllerTest < ActionController::TestCase |
|
|
|
fixtures :projects, :users, :members, :member_roles, :roles, :boards, :messages, :enabled_modules |
|
|
|
|
|
|
|
|
|
|
|
def setup |
|
|
|
@controller = MessagesController.new |
|
|
|
@request = ActionController::TestRequest.new |
|
|
|
@response = ActionController::TestResponse.new |
|
|
|
User.current = nil |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def test_show |
|
|
|
get :show, :board_id => 1, :id => 1 |
|
|
|
assert_response :success |
|
|
@@ -39,11 +39,11 @@ class MessagesControllerTest < ActionController::TestCase |
|
|
|
assert_not_nil assigns(:project) |
|
|
|
assert_not_nil assigns(:topic) |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def test_show_with_pagination |
|
|
|
message = Message.find(1) |
|
|
|
assert_difference 'Message.count', 30 do |
|
|
|
30.times do |
|
|
|
30.times do |
|
|
|
message.children << Message.new(:subject => 'Reply', :content => 'Reply body', :author_id => 2, :board_id => 1) |
|
|
|
end |
|
|
|
end |
|
|
@@ -55,7 +55,7 @@ class MessagesControllerTest < ActionController::TestCase |
|
|
|
assert !replies.include?(message.children.first(:order => 'id')) |
|
|
|
assert replies.include?(message.children.last(:order => 'id')) |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def test_show_with_reply_permission |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
get :show, :board_id => 1, :id => 1 |
|
|
@@ -64,24 +64,24 @@ class MessagesControllerTest < ActionController::TestCase |
|
|
|
assert_tag :div, :attributes => { :id => 'reply' }, |
|
|
|
:descendant => { :tag => 'textarea', :attributes => { :id => 'message_content' } } |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def test_show_message_not_found |
|
|
|
get :show, :board_id => 1, :id => 99999 |
|
|
|
assert_response 404 |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def test_get_new |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
get :new, :board_id => 1 |
|
|
|
assert_response :success |
|
|
|
assert_template 'new' |
|
|
|
assert_template 'new' |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def test_post_new |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
ActionMailer::Base.deliveries.clear |
|
|
|
Setting.notified_events = ['message_posted'] |
|
|
|
|
|
|
|
|
|
|
|
post :new, :board_id => 1, |
|
|
|
:message => { :subject => 'Test created message', |
|
|
|
:content => 'Message body'} |
|
|
@@ -101,14 +101,14 @@ class MessagesControllerTest < ActionController::TestCase |
|
|
|
# project member |
|
|
|
assert mail.bcc.include?('dlopper@somenet.foo') |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def test_get_edit |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
get :edit, :board_id => 1, :id => 1 |
|
|
|
assert_response :success |
|
|
|
assert_template 'edit' |
|
|
|
assert_template 'edit' |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def test_post_edit |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
post :edit, :board_id => 1, :id => 1, |
|
|
@@ -119,7 +119,7 @@ class MessagesControllerTest < ActionController::TestCase |
|
|
|
assert_equal 'New subject', message.subject |
|
|
|
assert_equal 'New body', message.content |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def test_reply |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
post :reply, :board_id => 1, :id => 1, :reply => { :content => 'This is a test reply', :subject => 'Test reply' } |
|
|
@@ -127,14 +127,14 @@ class MessagesControllerTest < ActionController::TestCase |
|
|
|
assert_redirected_to "/boards/1/topics/1?r=#{reply.id}" |
|
|
|
assert Message.find_by_subject('Test reply') |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def test_destroy_topic |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
post :destroy, :board_id => 1, :id => 1 |
|
|
|
assert_redirected_to '/projects/ecookbook/boards/1' |
|
|
|
assert_nil Message.find_by_id(1) |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def test_quote |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
xhr :get, :quote, :board_id => 1, :id => 3 |