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

r15313:ec31b616982f
r15741:f8df935dcada
Show More
enumerations_controller_test.rb
134 lines | 4.0 KiB | text/x-ruby | RubyLexer
/ test / functional / enumerations_controller_test.rb
Jean-Philippe Lang
Adds some functional tests....
r2477 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 #
# 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/enumerations_controller_test.rb....
r6472 #
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 # 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/enumerations_controller_test.rb....
r6472 #
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 # 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
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544
Jean-Philippe Lang
Adds our own class for controller tests....
r15279 class EnumerationsControllerTest < Redmine::ControllerTest
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 fixtures :enumerations, :issues, :users
Toshi MARUYAMA
remove trailing white-spaces from test/functional/enumerations_controller_test.rb....
r6472
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 def setup
@request.session[:user_id] = 1 # admin
end
def test_index
get :index
assert_response :success
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15313 assert_select 'table.enumerations'
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/enumerations_controller_test.rb....
r6472
Jean-Philippe Lang
Makes enumerations available through the REST API....
r10453 def test_index_should_require_admin
@request.session[:user_id] = nil
get :index
assert_response 302
end
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 def test_new
get :new, :type => 'IssuePriority'
assert_response :success
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15313
Jean-Philippe Lang
Replaced some #assert_tag with #assert_select....
r13238 assert_select 'input[name=?][value=?]', 'enumeration[type]', 'IssuePriority'
assert_select 'input[name=?]', 'enumeration[name]'
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 end
Jean-Philippe Lang
Adds functional tests....
r8827 def test_new_with_invalid_type_should_respond_with_404
get :new, :type => 'UnknownType'
assert_response 404
end
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 def test_create
assert_difference 'IssuePriority.count' do
post :create, :enumeration => {:type => 'IssuePriority', :name => 'Lowest'}
end
Jean-Philippe Lang
Makes enumerations available through the REST API....
r10453 assert_redirected_to '/enumerations'
Jean-Philippe Lang
Rails3: :order option has no effect here because of the default_scope on Enumeration....
r8964 e = IssuePriority.find_by_name('Lowest')
assert_not_nil e
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 end
def test_create_with_failure
assert_no_difference 'IssuePriority.count' do
post :create, :enumeration => {:type => 'IssuePriority', :name => ''}
end
assert_response :success
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15313 assert_select_error /name cannot be blank/i
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 end
def test_edit
get :edit, :id => 6
assert_response :success
Jean-Philippe Lang
Replaced some #assert_tag with #assert_select....
r13238 assert_select 'input[name=?][value=?]', 'enumeration[name]', 'High'
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 end
Jean-Philippe Lang
Adds functional tests....
r8827 def test_edit_invalid_should_respond_with_404
get :edit, :id => 999
assert_response 404
end
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 def test_update
assert_no_difference 'IssuePriority.count' do
Jean-Philippe Lang
Resourcified enumerations....
r8069 put :update, :id => 6, :enumeration => {:type => 'IssuePriority', :name => 'New name'}
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 end
Jean-Philippe Lang
Makes enumerations available through the REST API....
r10453 assert_redirected_to '/enumerations'
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 e = IssuePriority.find(6)
assert_equal 'New name', e.name
end
def test_update_with_failure
assert_no_difference 'IssuePriority.count' do
Jean-Philippe Lang
Resourcified enumerations....
r8069 put :update, :id => 6, :enumeration => {:type => 'IssuePriority', :name => ''}
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 end
assert_response :success
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15313 assert_select_error /name cannot be blank/i
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 def test_destroy_enumeration_not_in_use
Jean-Philippe Lang
Resourcified enumerations....
r8069 assert_difference 'IssuePriority.count', -1 do
delete :destroy, :id => 7
end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 assert_redirected_to :controller => 'enumerations', :action => 'index'
assert_nil Enumeration.find_by_id(7)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/enumerations_controller_test.rb....
r6472
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 def test_destroy_enumeration_in_use
Jean-Philippe Lang
Resourcified enumerations....
r8069 assert_no_difference 'IssuePriority.count' do
delete :destroy, :id => 4
end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 assert_response :success
Jean-Philippe Lang
Removes calls to #assert_template and #assigns in functional tests....
r15313
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 assert_not_nil Enumeration.find_by_id(4)
Jean-Philippe Lang
Fixed that enumerations option tags are escaped....
r9498 assert_select 'select[name=reassign_to_id]' do
Jean-Philippe Lang
Quote values in DOM selectors for Nokogiri compatibility....
r13237 assert_select 'option[value="6"]', :text => 'High'
Jean-Philippe Lang
Fixed that enumerations option tags are escaped....
r9498 end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/enumerations_controller_test.rb....
r6472
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 def test_destroy_enumeration_in_use_with_reassignment
Jean-Philippe Lang
Replaces find(:first) calls....
r10701 issue = Issue.where(:priority_id => 4).first
Jean-Philippe Lang
Resourcified enumerations....
r8069 assert_difference 'IssuePriority.count', -1 do
delete :destroy, :id => 4, :reassign_to_id => 6
end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 assert_redirected_to :controller => 'enumerations', :action => 'index'
assert_nil Enumeration.find_by_id(4)
# check that the issue was reassign
assert_equal 6, issue.reload.priority_id
end
Jean-Philippe Lang
Fixed that submitting the form without selecting a value may raise raises an error with SQLServer (#13783)....
r11624
def test_destroy_enumeration_in_use_with_blank_reassignment
assert_no_difference 'IssuePriority.count' do
delete :destroy, :id => 4, :reassign_to_id => ''
end
assert_response :success
end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 end