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

r15612:62823442d369
r15741:f8df935dcada
Show More
welcome_controller_test.rb
192 lines | 6.1 KiB | text/x-ruby | RubyLexer
/ test / functional / welcome_controller_test.rb
Toshi MARUYAMA
remove trailing white-spaces from test/functional/welcome_controller_test.rb....
r6505 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 #
# 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/welcome_controller_test.rb....
r6505 #
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 # 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/welcome_controller_test.rb....
r6505 #
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 # 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 some functional tests and a CVS test repository....
r974
Jean-Philippe Lang
Adds our own class for controller tests....
r15279 class WelcomeControllerTest < Redmine::ControllerTest
Jean-Baptiste Barth
Fixed test/functional/welcome_controller_test.rb breaking when run alone (#12285)...
r10563 fixtures :projects, :news, :users, :members
Toshi MARUYAMA
remove trailing white-spaces from test/functional/welcome_controller_test.rb....
r6505
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 def setup
Jean-Philippe Lang
Don't change Setting.default_language in tests....
r13542 Setting.default_language = 'en'
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 User.current = nil
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/welcome_controller_test.rb....
r6505
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 def test_index
get :index
assert_response :success
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15342 assert_select 'h3', :text => 'Latest news'
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/welcome_controller_test.rb....
r6505
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 def test_browser_language
@request.env['HTTP_ACCEPT_LANGUAGE'] = 'fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3'
get :index
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15342 assert_select 'html[lang=fr]'
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/welcome_controller_test.rb....
r6505
Jean-Philippe Lang
Fixed: browser's accept-language subcodes ignored (#1320)....
r1467 def test_browser_language_alternate
@request.env['HTTP_ACCEPT_LANGUAGE'] = 'zh-TW'
get :index
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15342 assert_select 'html[lang=zh-TW]'
Jean-Philippe Lang
Fixed: browser's accept-language subcodes ignored (#1320)....
r1467 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/welcome_controller_test.rb....
r6505
Jean-Philippe Lang
Additional test for r1481....
r1468 def test_browser_language_alternate_not_valid
@request.env['HTTP_ACCEPT_LANGUAGE'] = 'fr-CA'
get :index
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15342 assert_select 'html[lang=fr]'
Jean-Philippe Lang
Additional test for r1481....
r1468 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/welcome_controller_test.rb....
r6505
Jean-Philippe Lang
Adds settings for disabling browser language detection and language preference (#2691)....
r12416 def test_browser_language_should_be_ignored_with_force_default_language_for_anonymous
@request.env['HTTP_ACCEPT_LANGUAGE'] = 'fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3'
with_settings :force_default_language_for_anonymous => '1' do
get :index
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15342 assert_select 'html[lang=en]'
Jean-Philippe Lang
Adds settings for disabling browser language detection and language preference (#2691)....
r12416 end
end
def test_user_language_should_be_used
user = User.find(2).update_attribute :language, 'it'
@request.session[:user_id] = 2
@request.env['HTTP_ACCEPT_LANGUAGE'] = 'fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3'
Jean-Philippe Lang
Don't change Setting.default_language in tests....
r13542 with_settings :default_language => 'fi' do
get :index
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15342 assert_select 'html[lang=it]'
Jean-Philippe Lang
Don't change Setting.default_language in tests....
r13542 end
Jean-Philippe Lang
Adds settings for disabling browser language detection and language preference (#2691)....
r12416 end
def test_user_language_should_be_ignored_if_force_default_language_for_loggedin
user = User.find(2).update_attribute :language, 'it'
@request.session[:user_id] = 2
@request.env['HTTP_ACCEPT_LANGUAGE'] = 'fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3'
Jean-Philippe Lang
Don't change Setting.default_language in tests....
r13542 with_settings :force_default_language_for_loggedin => '1', :default_language => 'fi' do
Jean-Philippe Lang
Adds settings for disabling browser language detection and language preference (#2691)....
r12416 get :index
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15342 assert_select 'html[lang=fi]'
Jean-Philippe Lang
Adds settings for disabling browser language detection and language preference (#2691)....
r12416 end
end
Jean-Philippe Lang
Replaces the obsolete robots.txt with a cached action (#2491)....
r2317 def test_robots
get :robots
assert_response :success
assert_equal 'text/plain', @response.content_type
Jean-Philippe Lang
Fixes EOL style related test failures....
r3605 assert @response.body.match(%r{^Disallow: /projects/ecookbook/issues\r?$})
Jean-Philippe Lang
Replaces the obsolete robots.txt with a cached action (#2491)....
r2317 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/welcome_controller_test.rb....
r6505
Jean-Philippe Lang
Warning on leaving a page with unsaved content in textarea (#2910)....
r4780 def test_warn_on_leaving_unsaved_turn_on
user = User.find(2)
user.pref.warn_on_leaving_unsaved = '1'
user.pref.save!
@request.session[:user_id] = 2
Toshi MARUYAMA
remove trailing white-spaces from test/functional/welcome_controller_test.rb....
r6505
Jean-Philippe Lang
Warning on leaving a page with unsaved content in textarea (#2910)....
r4780 get :index
Jean-Philippe Lang
Merged rails-4.1 branch (#14534)....
r13100 assert_select 'script', :text => %r{warnLeavingUnsaved}
Jean-Philippe Lang
Warning on leaving a page with unsaved content in textarea (#2910)....
r4780 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/welcome_controller_test.rb....
r6505
Jean-Philippe Lang
Warning on leaving a page with unsaved content in textarea (#2910)....
r4780 def test_warn_on_leaving_unsaved_turn_off
user = User.find(2)
user.pref.warn_on_leaving_unsaved = '0'
user.pref.save!
@request.session[:user_id] = 2
Toshi MARUYAMA
remove trailing white-spaces from test/functional/welcome_controller_test.rb....
r6505
Jean-Philippe Lang
Warning on leaving a page with unsaved content in textarea (#2910)....
r4780 get :index
Jean-Philippe Lang
Replaced remaining #assert_tag with #assert_select....
r13242 assert_select 'script', :text => %r{warnLeavingUnsaved}, :count => 0
Jean-Philippe Lang
Warning on leaving a page with unsaved content in textarea (#2910)....
r4780 end
Jean-Philippe Lang
Removed ApplicationControllerTest....
r8366
Jean-Philippe Lang
User preference for monospaced / variable-width font in textareas (#23653)....
r15371 def test_textarea_font_set_to_monospace
user = User.find(1)
user.pref.textarea_font = 'monospace'
user.pref.save!
@request.session[:user_id] = 1
get :index
assert_select 'body.textarea-monospace'
end
def test_textarea_font_set_to_proportional
user = User.find(1)
user.pref.textarea_font = 'proportional'
user.pref.save!
@request.session[:user_id] = 1
get :index
assert_select 'body.textarea-proportional'
end
Jean-Philippe Lang
Use POST instead of GET for logging out (#13022)....
r11059 def test_logout_link_should_post
@request.session[:user_id] = 2
get :index
Jean-Philippe Lang
Quote values in DOM selectors for Nokogiri compatibility....
r13237 assert_select 'a[href="/logout"][data-method=post]', :text => 'Sign out'
Jean-Philippe Lang
Use POST instead of GET for logging out (#13022)....
r11059 end
Jean-Philippe Lang
Removed ApplicationControllerTest....
r8366 def test_call_hook_mixed_in
assert @controller.respond_to?(:call_hook)
end
Jean-Philippe Lang
Fixed that root projects are escaped twice in the project drop down (#11217)....
r9711 def test_project_jump_box_should_escape_names_once
Project.find(1).update_attribute :name, 'Foo & Bar'
@request.session[:user_id] = 2
get :index
Jean-Philippe Lang
Replaces project jump select with custom dropdown (#23310)....
r15612 assert_select "#header #project-jump" do
assert_select "a", :text => 'Foo & Bar'
Jean-Philippe Lang
Fixed that root projects are escaped twice in the project drop down (#11217)....
r9711 end
end
Jean-Philippe Lang
Removed some shoulda context....
r11634 def test_api_offset_and_limit_without_params
assert_equal [0, 25], @controller.api_offset_and_limit({})
end
Jean-Philippe Lang
Removed ApplicationControllerTest....
r8366
Jean-Philippe Lang
Removed some shoulda context....
r11634 def test_api_offset_and_limit_with_limit
assert_equal [0, 30], @controller.api_offset_and_limit({:limit => 30})
assert_equal [0, 100], @controller.api_offset_and_limit({:limit => 120})
assert_equal [0, 25], @controller.api_offset_and_limit({:limit => -10})
end
Jean-Philippe Lang
Removed ApplicationControllerTest....
r8366
Jean-Philippe Lang
Removed some shoulda context....
r11634 def test_api_offset_and_limit_with_offset
assert_equal [10, 25], @controller.api_offset_and_limit({:offset => 10})
assert_equal [0, 25], @controller.api_offset_and_limit({:offset => -10})
end
Jean-Philippe Lang
Removed ApplicationControllerTest....
r8366
Jean-Philippe Lang
Removed some shoulda context....
r11634 def test_api_offset_and_limit_with_offset_and_limit
assert_equal [10, 50], @controller.api_offset_and_limit({:offset => 10, :limit => 50})
end
Jean-Philippe Lang
Removed ApplicationControllerTest....
r8366
Jean-Philippe Lang
Removed some shoulda context....
r11634 def test_api_offset_and_limit_with_page
assert_equal [0, 25], @controller.api_offset_and_limit({:page => 1})
assert_equal [50, 25], @controller.api_offset_and_limit({:page => 3})
assert_equal [0, 25], @controller.api_offset_and_limit({:page => 0})
assert_equal [0, 25], @controller.api_offset_and_limit({:page => -2})
end
Jean-Philippe Lang
Removed ApplicationControllerTest....
r8366
Jean-Philippe Lang
Removed some shoulda context....
r11634 def test_api_offset_and_limit_with_page_and_limit
assert_equal [0, 100], @controller.api_offset_and_limit({:page => 1, :limit => 100})
assert_equal [200, 100], @controller.api_offset_and_limit({:page => 3, :limit => 100})
Jean-Philippe Lang
Removed ApplicationControllerTest....
r8366 end
Jean-Philippe Lang
Don't redirect XHR requests to /login....
r11732
def test_unhautorized_exception_with_anonymous_should_redirect_to_login
WelcomeController.any_instance.stubs(:index).raises(::Unauthorized)
get :index
assert_response 302
assert_redirected_to('/login?back_url='+CGI.escape('http://test.host/'))
end
def test_unhautorized_exception_with_anonymous_and_xmlhttprequest_should_respond_with_401_to_anonymous
WelcomeController.any_instance.stubs(:index).raises(::Unauthorized)
@request.env["HTTP_X_REQUESTED_WITH"] = "XMLHttpRequest"
get :index
assert_response 401
end
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 end