|
|
@@ -27,10 +27,7 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
end |
|
|
|
|
|
|
|
def test_show |
|
|
|
get :show, :params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 1 |
|
|
|
} |
|
|
|
get(:show, :params => {:board_id => 1, :id => 1}) |
|
|
|
assert_response :success |
|
|
|
|
|
|
|
assert_select 'h2', :text => 'First post' |
|
|
@@ -38,10 +35,7 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
|
|
|
|
def test_show_should_contain_reply_field_tags_for_quoting |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
get :show, :params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 1 |
|
|
|
} |
|
|
|
get(:show, :params => {:board_id => 1, :id => 1}) |
|
|
|
assert_response :success |
|
|
|
|
|
|
|
# tags required by MessagesController#quote |
|
|
@@ -62,11 +56,14 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
end |
|
|
|
reply_ids = message.children.map(&:id).sort |
|
|
|
|
|
|
|
get :show, :params => { |
|
|
|
get( |
|
|
|
:show, |
|
|
|
:params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 1, |
|
|
|
:r => reply_ids.last |
|
|
|
} |
|
|
|
) |
|
|
|
assert_response :success |
|
|
|
|
|
|
|
assert_select 'a[href=?]', "/boards/1/topics/1?r=#{reply_ids.last}#message-#{reply_ids.last}" |
|
|
@@ -75,36 +72,25 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
|
|
|
|
def test_show_with_reply_permission |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
get :show, :params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 1 |
|
|
|
} |
|
|
|
get(:show, :params => {:board_id => 1, :id => 1}) |
|
|
|
assert_response :success |
|
|
|
|
|
|
|
assert_select 'div#reply textarea#message_content' |
|
|
|
end |
|
|
|
|
|
|
|
def test_show_message_not_found |
|
|
|
get :show, :params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 99999 |
|
|
|
} |
|
|
|
get(:show, :params => {:board_id => 1, :id => 99999}) |
|
|
|
assert_response 404 |
|
|
|
end |
|
|
|
|
|
|
|
def test_show_message_from_invalid_board_should_respond_with_404 |
|
|
|
get :show, :params => { |
|
|
|
:board_id => 999, |
|
|
|
:id => 1 |
|
|
|
} |
|
|
|
get(:show, :params => {:board_id => 999, :id => 1}) |
|
|
|
assert_response 404 |
|
|
|
end |
|
|
|
|
|
|
|
def test_get_new |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
get :new, :params => { |
|
|
|
:board_id => 1 |
|
|
|
} |
|
|
|
get(:new, :params => {:board_id => 1}) |
|
|
|
assert_response :success |
|
|
|
|
|
|
|
assert_select 'input[name=?]', 'message[subject]' |
|
|
@@ -112,9 +98,7 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
|
|
|
|
def test_get_new_with_invalid_board |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
get :new, :params => { |
|
|
|
:board_id => 99 |
|
|
|
} |
|
|
|
get(:new, :params => {:board_id => 99}) |
|
|
|
assert_response 404 |
|
|
|
end |
|
|
|
|
|
|
@@ -123,13 +107,16 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
ActionMailer::Base.deliveries.clear |
|
|
|
|
|
|
|
with_settings :notified_events => %w(message_posted) do |
|
|
|
post :new, :params => { |
|
|
|
post( |
|
|
|
:new, |
|
|
|
:params => { |
|
|
|
:board_id => 1, |
|
|
|
:message => { |
|
|
|
:subject => 'Test created message', |
|
|
|
:content => 'Message body' |
|
|
|
} |
|
|
|
} |
|
|
|
) |
|
|
|
end |
|
|
|
assert_equal I18n.t(:notice_successful_create), flash[:notice] |
|
|
|
message = Message.find_by_subject('Test created message') |
|
|
@@ -155,10 +142,7 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
|
|
|
|
def test_get_edit |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
get :edit, :params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 1 |
|
|
|
} |
|
|
|
get(:edit, :params => {:board_id => 1, :id => 1}) |
|
|
|
assert_response :success |
|
|
|
|
|
|
|
assert_select 'input[name=?][value=?]', 'message[subject]', 'First post' |
|
|
@@ -166,7 +150,9 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
|
|
|
|
def test_post_edit |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
post :edit, :params => { |
|
|
|
post( |
|
|
|
:edit, |
|
|
|
:params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 1, |
|
|
|
:message => { |
|
|
@@ -174,6 +160,7 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
:content => 'New body' |
|
|
|
} |
|
|
|
} |
|
|
|
) |
|
|
|
assert_redirected_to '/boards/1/topics/1' |
|
|
|
assert_equal I18n.t(:notice_successful_update), flash[:notice] |
|
|
|
message = Message.find(1) |
|
|
@@ -183,7 +170,9 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
|
|
|
|
def test_post_edit_sticky_and_locked |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
post :edit, :params => { |
|
|
|
post( |
|
|
|
:edit, |
|
|
|
:params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 1, |
|
|
|
:message => { |
|
|
@@ -193,6 +182,7 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
:sticky => '1' |
|
|
|
} |
|
|
|
} |
|
|
|
) |
|
|
|
assert_redirected_to '/boards/1/topics/1' |
|
|
|
assert_equal I18n.t(:notice_successful_update), flash[:notice] |
|
|
|
message = Message.find(1) |
|
|
@@ -202,7 +192,9 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
|
|
|
|
def test_post_edit_should_allow_to_change_board |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
post :edit, :params => { |
|
|
|
post( |
|
|
|
:edit, |
|
|
|
:params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 1, |
|
|
|
:message => { |
|
|
@@ -211,6 +203,7 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
:board_id => 2 |
|
|
|
} |
|
|
|
} |
|
|
|
) |
|
|
|
assert_redirected_to '/boards/2/topics/1' |
|
|
|
message = Message.find(1) |
|
|
|
assert_equal Board.find(2), message.board |
|
|
@@ -218,7 +211,9 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
|
|
|
|
def test_reply |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
post :reply, :params => { |
|
|
|
post( |
|
|
|
:reply, |
|
|
|
:params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 1, |
|
|
|
:reply => { |
|
|
@@ -226,6 +221,7 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
:subject => 'Test reply' |
|
|
|
} |
|
|
|
} |
|
|
|
) |
|
|
|
reply = Message.order('id DESC').first |
|
|
|
assert_redirected_to "/boards/1/topics/1?r=#{reply.id}" |
|
|
|
assert_equal I18n.t(:notice_successful_update), flash[:notice] |
|
|
@@ -236,10 +232,7 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
set_tmp_attachments_directory |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
assert_difference 'Message.count', -3 do |
|
|
|
post :destroy, :params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 1 |
|
|
|
} |
|
|
|
post(:destroy, :params => {:board_id => 1, :id => 1}) |
|
|
|
end |
|
|
|
assert_redirected_to '/projects/ecookbook/boards/1' |
|
|
|
assert_equal I18n.t(:notice_successful_delete), flash[:notice] |
|
|
@@ -249,10 +242,7 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
def test_destroy_reply |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
assert_difference 'Message.count', -1 do |
|
|
|
post :destroy, :params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 2 |
|
|
|
} |
|
|
|
post(:destroy, :params => {:board_id => 1, :id => 2}) |
|
|
|
end |
|
|
|
assert_redirected_to '/boards/1/topics/1?r=2' |
|
|
|
assert_equal I18n.t(:notice_successful_delete), flash[:notice] |
|
|
@@ -261,11 +251,14 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
|
|
|
|
def test_quote_if_message_is_root |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
get :quote, :params => { |
|
|
|
get( |
|
|
|
:quote, |
|
|
|
:params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 1 |
|
|
|
}, |
|
|
|
:xhr => true |
|
|
|
) |
|
|
|
assert_response :success |
|
|
|
assert_equal 'text/javascript', response.media_type |
|
|
|
|
|
|
@@ -276,11 +269,14 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
|
|
|
|
def test_quote_if_message_is_not_root |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
get :quote, :params => { |
|
|
|
get( |
|
|
|
:quote, |
|
|
|
:params => { |
|
|
|
:board_id => 1, |
|
|
|
:id => 3 |
|
|
|
}, |
|
|
|
:xhr => true |
|
|
|
) |
|
|
|
assert_response :success |
|
|
|
assert_equal 'text/javascript', response.media_type |
|
|
|
|
|
|
@@ -291,20 +287,25 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
|
|
|
|
def test_preview_new |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
post :preview, :params => { |
|
|
|
post( |
|
|
|
:preview, |
|
|
|
:params => { |
|
|
|
:board_id => 1, |
|
|
|
:message => { |
|
|
|
:subject => "" |
|
|
|
}, |
|
|
|
:text => "Previewed text" |
|
|
|
} |
|
|
|
) |
|
|
|
assert_response :success |
|
|
|
assert_include 'Previewed text', response.body |
|
|
|
end |
|
|
|
|
|
|
|
def test_preview_edit |
|
|
|
@request.session[:user_id] = 2 |
|
|
|
post :preview, :params => { |
|
|
|
post( |
|
|
|
:preview, |
|
|
|
:params => { |
|
|
|
:id => 4, |
|
|
|
:board_id => 1, |
|
|
|
:message => { |
|
|
@@ -312,6 +313,7 @@ class MessagesControllerTest < Redmine::ControllerTest |
|
|
|
}, |
|
|
|
:text => "Previewed text" |
|
|
|
} |
|
|
|
) |
|
|
|
assert_response :success |
|
|
|
assert_include 'Previewed text', response.body |
|
|
|
end |