##// 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:

r15333:bb5ccb870ce3
r15741:f8df935dcada
Show More
news_controller_test.rb
172 lines | 5.5 KiB | text/x-ruby | RubyLexer
/ test / functional / news_controller_test.rb
Toshi MARUYAMA
remove trailing white-spaces from test/functional/news_controller_test.rb....
r6710 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Jean-Philippe Lang
added rss/atom feeds at project levels for:...
r336 #
# 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/functional/news_controller_test.rb....
r6710 #
Jean-Philippe Lang
added rss/atom feeds at project levels for:...
r336 # 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/functional/news_controller_test.rb....
r6710 #
Jean-Philippe Lang
added rss/atom feeds at project levels for:...
r336 # 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 rss/atom feeds at project levels for:...
r336
Jean-Philippe Lang
Adds our own class for controller tests....
r15279 class NewsControllerTest < Redmine::ControllerTest
Jean-Philippe Lang
Add support for multiple email addresses per user (#4244)....
r13504 fixtures :projects, :users, :email_addresses, :roles, :members, :member_roles,
Toshi MARUYAMA
add missing fixtures to NewsControllerTest...
r13019 :enabled_modules, :news, :comments,
:attachments
Toshi MARUYAMA
remove trailing white-spaces from test/functional/news_controller_test.rb....
r6710
Jean-Philippe Lang
added rss/atom feeds at project levels for:...
r336 def setup
Jean-Philippe Lang
Moved ProjectsController#list_news to NewsController#index....
r875 User.current = nil
Jean-Philippe Lang
added rss/atom feeds at project levels for:...
r336 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/news_controller_test.rb....
r6710
Jean-Philippe Lang
Moved ProjectsController#list_news to NewsController#index....
r875 def test_index
get :index
Jean-Philippe Lang
added rss/atom feeds at project levels for:...
r336 assert_response :success
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15333 assert_select 'h3 a', :text => 'eCookbook first release !'
Jean-Philippe Lang
added rss/atom feeds at project levels for:...
r336 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/news_controller_test.rb....
r6710
Jean-Philippe Lang
Moved ProjectsController#list_news to NewsController#index....
r875 def test_index_with_project
get :index, :project_id => 1
Jean-Philippe Lang
added rss/atom feeds at project levels for:...
r336 assert_response :success
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15333 assert_select 'h3 a', :text => 'eCookbook first release !'
Jean-Philippe Lang
added rss/atom feeds at project levels for:...
r336 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/news_controller_test.rb....
r6710
Jean-Philippe Lang
More functional tests for NewsController....
r9053 def test_index_with_invalid_project_should_respond_with_404
get :index, :project_id => 999
assert_response 404
end
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 def test_show
get :show, :id => 1
assert_response :success
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15333 assert_select 'h2', :text => 'eCookbook first release !'
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/news_controller_test.rb....
r6710
Jean-Philippe Lang
Allows attachments on news (#1972)....
r8608 def test_show_should_show_attachments
attachment = Attachment.first
attachment.container = News.find(1)
attachment.save!
get :show, :id => 1
assert_response :success
Jean-Philippe Lang
Replaced remaining #assert_tag with #assert_select....
r13242 assert_select 'a', :text => attachment.filename
Jean-Philippe Lang
Allows attachments on news (#1972)....
r8608 end
Jean-Philippe Lang
Fixed 500 error when displaying a news with comments in reverse order (#18332)....
r13213 def test_show_with_comments_in_reverse_order
user = User.find(1)
user.pref[:comments_sorting] = 'desc'
user.pref.save!
@request.session[:user_id] = 1
get :show, :id => 1
assert_response :success
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15333
comments = css_select('#comments .wiki').map(&:text).map(&:strip)
assert_equal ["This is an other comment", "my first comment"], comments
Jean-Philippe Lang
Fixed 500 error when displaying a news with comments in reverse order (#18332)....
r13213 end
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 def test_show_not_found
get :show, :id => 999
assert_response 404
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/news_controller_test.rb....
r6710
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 def test_get_new
@request.session[:user_id] = 2
get :new, :project_id => 1
assert_response :success
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15333 assert_select 'input[name=?]', 'news[title]'
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/news_controller_test.rb....
r6710
Eric Davis
Refactor: split NewsController#new into #new and #create methods....
r4049 def test_post_create
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 ActionMailer::Base.deliveries.clear
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 @request.session[:user_id] = 2
Jean-Philippe Lang
Tests should not change settings....
r9766
with_settings :notified_events => %w(news_added) do
post :create, :project_id => 1, :news => { :title => 'NewsControllerTest',
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 :description => 'This is the description',
:summary => '' }
Jean-Philippe Lang
Tests should not change settings....
r9766 end
Jean-Philippe Lang
Adds leading slash to all assert_redirected_to arguments (#6887)....
r4293 assert_redirected_to '/projects/ecookbook/news'
Toshi MARUYAMA
remove trailing white-spaces from test/functional/news_controller_test.rb....
r6710
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 news = News.find_by_title('NewsControllerTest')
assert_not_nil news
assert_equal 'This is the description', news.description
assert_equal User.find(2), news.author
assert_equal Project.find(1), news.project
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 assert_equal 1, ActionMailer::Base.deliveries.size
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/news_controller_test.rb....
r6710
Jean-Philippe Lang
Allows attachments on news (#1972)....
r8608 def test_post_create_with_attachment
set_tmp_attachments_directory
@request.session[:user_id] = 2
assert_difference 'News.count' do
assert_difference 'Attachment.count' do
post :create, :project_id => 1,
:news => { :title => 'Test', :description => 'This is the description' },
:attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
end
end
Toshi MARUYAMA
Rails4: replace deprecated Relation#first with finder options at NewsControllerTest...
r12247 attachment = Attachment.order('id DESC').first
news = News.order('id DESC').first
Jean-Philippe Lang
Allows attachments on news (#1972)....
r8608 assert_equal news, attachment.container
end
def test_post_create_with_validation_failure
@request.session[:user_id] = 2
post :create, :project_id => 1, :news => { :title => '',
:description => 'This is the description',
:summary => '' }
assert_response :success
Jean-Philippe Lang
Replaced "can't" with "cannot" in error messages....
r13399 assert_select_error /title cannot be blank/i
Jean-Philippe Lang
Allows attachments on news (#1972)....
r8608 end
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 def test_get_edit
@request.session[:user_id] = 2
get :edit, :id => 1
assert_response :success
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15333 assert_select 'input[name=?][value=?]', 'news[title]', 'eCookbook first release !'
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/news_controller_test.rb....
r6710
Eric Davis
Refactor: split NewsController#edit into #edit and #update...
r4054 def test_put_update
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 @request.session[:user_id] = 2
Eric Davis
Refactor: split NewsController#edit into #edit and #update...
r4054 put :update, :id => 1, :news => { :description => 'Description changed by test_post_edit' }
Jean-Philippe Lang
Adds leading slash to all assert_redirected_to arguments (#6887)....
r4293 assert_redirected_to '/news/1'
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 news = News.find(1)
assert_equal 'Description changed by test_post_edit', news.description
end
Jean-Philippe Lang
Allows attachments on news (#1972)....
r8608 def test_put_update_with_attachment
set_tmp_attachments_directory
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 @request.session[:user_id] = 2
Jean-Philippe Lang
Allows attachments on news (#1972)....
r8608 assert_no_difference 'News.count' do
assert_difference 'Attachment.count' do
put :update, :id => 1,
:news => { :description => 'This is the description' },
:attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
end
end
Toshi MARUYAMA
Rails4: replace deprecated Relation#first with finder options at NewsControllerTest...
r12246 attachment = Attachment.order('id DESC').first
Jean-Philippe Lang
Allows attachments on news (#1972)....
r8608 assert_equal News.find(1), attachment.container
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/news_controller_test.rb....
r6710
Jean-Philippe Lang
Adds a test for when updating a news fails....
r8934 def test_update_with_failure
@request.session[:user_id] = 2
put :update, :id => 1, :news => { :description => '' }
assert_response :success
Jean-Philippe Lang
Replaced "can't" with "cannot" in error messages....
r13399 assert_select_error /description cannot be blank/i
Jean-Philippe Lang
Adds a test for when updating a news fails....
r8934 end
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 def test_destroy
@request.session[:user_id] = 2
Eric Davis
Refactor: convert News to a REST resource...
r4100 delete :destroy, :id => 1
Jean-Philippe Lang
Adds leading slash to all assert_redirected_to arguments (#6887)....
r4293 assert_redirected_to '/projects/ecookbook/news'
Jean-Philippe Lang
Add NewsController and TimelogController tests....
r1255 assert_nil News.find_by_id(1)
end
Jean-Philippe Lang
added rss/atom feeds at project levels for:...
r336 end