##// END OF EJS Templates
When copying issues, let the status be changed to default or left unchanged....
When copying issues, let the status be changed to default or left unchanged. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9404 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r8828:c49ef8e543c4
r9270:09375960d69d
Show More
issue_categories_controller_test.rb
140 lines | 4.7 KiB | text/x-ruby | RubyLexer
/ test / functional / issue_categories_controller_test.rb
Jean-Philippe Lang
Adds some functional tests....
r2479 # Redmine - project management software
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_categories_controller_test.rb....
r6789 # Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
Adds some functional tests....
r2479 #
# 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/issue_categories_controller_test.rb....
r6789 #
Jean-Philippe Lang
Adds some functional tests....
r2479 # 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/issue_categories_controller_test.rb....
r6789 #
Jean-Philippe Lang
Adds some functional tests....
r2479 # 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
Adds some functional tests....
r2479 require 'issue_categories_controller'
# Re-raise errors caught by the controller.
class IssueCategoriesController; def rescue_action(e) raise e end; end
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class IssueCategoriesControllerTest < ActionController::TestCase
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 fixtures :projects, :users, :members, :member_roles, :roles, :enabled_modules, :issue_categories
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_categories_controller_test.rb....
r6789
Jean-Philippe Lang
Adds some functional tests....
r2479 def setup
@controller = IssueCategoriesController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
User.current = nil
@request.session[:user_id] = 2
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_categories_controller_test.rb....
r6789
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 def test_new
Jean-Philippe Lang
Moves ProjectsController#add_issue_category to IssueCategoriesController#new....
r3435 @request.session[:user_id] = 2 # manager
get :new, :project_id => '1'
assert_response :success
assert_template 'new'
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_categories_controller_test.rb....
r6789
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 def test_create
Jean-Philippe Lang
Moves ProjectsController#add_issue_category to IssueCategoriesController#new....
r3435 @request.session[:user_id] = 2 # manager
assert_difference 'IssueCategory.count' do
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 post :create, :project_id => '1', :issue_category => {:name => 'New category'}
Jean-Philippe Lang
Moves ProjectsController#add_issue_category to IssueCategoriesController#new....
r3435 end
assert_redirected_to '/projects/ecookbook/settings/categories'
category = IssueCategory.find_by_name('New category')
assert_not_nil category
assert_equal 1, category.project_id
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_categories_controller_test.rb....
r6789
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 def test_create_failure
@request.session[:user_id] = 2
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 post :create, :project_id => '1', :issue_category => {:name => ''}
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 assert_response :success
assert_template 'new'
end
Jean-Philippe Lang
Adds functional tests....
r8828 def test_create_from_issue_form
@request.session[:user_id] = 2 # manager
assert_difference 'IssueCategory.count' do
xhr :post, :create, :project_id => '1', :issue_category => {:name => 'New category'}
end
category = IssueCategory.first(:order => 'id DESC')
assert_equal 'New category', category.name
assert_response :success
assert_select_rjs :replace, 'issue_category_id' do
assert_select "option[value=#{category.id}][selected=selected]"
end
end
def test_create_from_issue_form_with_failure
@request.session[:user_id] = 2 # manager
assert_no_difference 'IssueCategory.count' do
xhr :post, :create, :project_id => '1', :issue_category => {:name => ''}
end
assert_response :success
assert_match /alert/, @response.body
end
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 def test_edit
@request.session[:user_id] = 2
get :edit, :id => 2
assert_response :success
assert_template 'edit'
end
def test_update
Jean-Philippe Lang
Adds some functional tests....
r2479 assert_no_difference 'IssueCategory.count' do
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 put :update, :id => 2, :issue_category => { :name => 'Testing' }
Jean-Philippe Lang
Adds some functional tests....
r2479 end
assert_redirected_to '/projects/ecookbook/settings/categories'
assert_equal 'Testing', IssueCategory.find(2).name
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_categories_controller_test.rb....
r6789
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 def test_update_failure
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 put :update, :id => 2, :issue_category => { :name => '' }
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 assert_response :success
assert_template 'edit'
end
def test_update_not_found
Jean-Philippe Lang
REST API for issue categories (#9553)....
r7762 put :update, :id => 97, :issue_category => { :name => 'Testing' }
Jean-Philippe Lang
Adds some functional tests....
r2479 assert_response 404
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_categories_controller_test.rb....
r6789
Jean-Philippe Lang
Adds some functional tests....
r2479 def test_destroy_category_not_in_use
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 delete :destroy, :id => 2
Jean-Philippe Lang
Adds some functional tests....
r2479 assert_redirected_to '/projects/ecookbook/settings/categories'
assert_nil IssueCategory.find_by_id(2)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_categories_controller_test.rb....
r6789
Jean-Philippe Lang
Adds some functional tests....
r2479 def test_destroy_category_in_use
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 delete :destroy, :id => 1
Jean-Philippe Lang
Adds some functional tests....
r2479 assert_response :success
assert_template 'destroy'
assert_not_nil IssueCategory.find_by_id(1)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_categories_controller_test.rb....
r6789
Jean-Philippe Lang
Adds some functional tests....
r2479 def test_destroy_category_in_use_with_reassignment
issue = Issue.find(:first, :conditions => {:category_id => 1})
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 delete :destroy, :id => 1, :todo => 'reassign', :reassign_to_id => 2
Jean-Philippe Lang
Adds some functional tests....
r2479 assert_redirected_to '/projects/ecookbook/settings/categories'
assert_nil IssueCategory.find_by_id(1)
# check that the issue was reassign
assert_equal 2, issue.reload.category_id
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_categories_controller_test.rb....
r6789
Jean-Philippe Lang
Adds some functional tests....
r2479 def test_destroy_category_in_use_without_reassignment
issue = Issue.find(:first, :conditions => {:category_id => 1})
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 delete :destroy, :id => 1, :todo => 'nullify'
Jean-Philippe Lang
Adds some functional tests....
r2479 assert_redirected_to '/projects/ecookbook/settings/categories'
assert_nil IssueCategory.find_by_id(1)
# check that the issue category was nullified
assert_nil issue.reload.category_id
end
end