##// END OF EJS Templates
Issues assigned to a locked/closed version are now copied (#11207)....
Issues assigned to a locked/closed version are now copied (#11207). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10336 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r9860:035805fbd042
r10153:62d5b4c7108d
Show More
issue_categories_controller_test.rb
151 lines | 5.0 KiB | text/x-ruby | RubyLexer
/ test / functional / issue_categories_controller_test.rb
Jean-Philippe Lang
Adds some functional tests....
r2479 # Redmine - project management software
Jean-Philippe Lang
Copyright update....
r9453 # Copyright (C) 2006-2012 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'
Jean-Philippe Lang
Adds assertions for r9572....
r9394 assert_select 'input[name=?]', 'issue_category[name]'
Jean-Philippe Lang
Moves ProjectsController#add_issue_category to IssueCategoriesController#new....
r3435 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issue_categories_controller_test.rb....
r6789
Jean-Philippe Lang
Start removing the RJS stuff....
r9860 def test_new_from_issue_form
@request.session[:user_id] = 2 # manager
xhr :get, :new, :project_id => '1'
assert_response :success
assert_template 'new'
assert_equal 'text/javascript', response.content_type
end
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
Jean-Philippe Lang
Start removing the RJS stuff....
r9860 assert_template 'create'
assert_equal 'text/javascript', response.content_type
Jean-Philippe Lang
Adds functional tests....
r8828 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
Jean-Philippe Lang
Start removing the RJS stuff....
r9860 assert_template 'new'
assert_equal 'text/javascript', response.content_type
Jean-Philippe Lang
Adds functional tests....
r8828 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'
Jean-Philippe Lang
Adds assertions for r9572....
r9394 assert_select 'input[name=?][value=?]', 'issue_category[name]', 'Recipes'
Jean-Philippe Lang
Resourcified issue categories (#9553)....
r7761 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