##// END OF EJS Templates
Don't use #delete on String in Mailer....
Don't use #delete on String in Mailer. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9237 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r8828:c49ef8e543c4
r9117:95b10f3bd388
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