##// END OF EJS Templates
Replace Date.today with User.current.today (#22320)....
Replace Date.today with User.current.today (#22320). Depending on the offset between a user's configured timezone and the server timezone, Date.today may be more or less often wrong from the user's perspective, leading to things like issues marked as overdue too early or too late, or yesterday / tomorrow being displayed / selected where 'today' is intended. A test case illustrating the problem with Issue#overdue? is included Patch by Jens Kraemer. git-svn-id: http://svn.redmine.org/redmine/trunk@15379 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r14856:cda9c63d9c21
r14997:ed50d42210ea
Show More
issue_categories_controller_test.rb
145 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
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 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
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class IssueCategoriesControllerTest < ActionController::TestCase
Jean-Baptiste Barth
Fixed some more test/functional/*_test.rb breaking when run alone (#12285)...
r10565 fixtures :projects, :users, :members, :member_roles, :roles, :enabled_modules, :issue_categories,
:issues
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
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
Toshi MARUYAMA
Rails4: replace deprecated Relation#first with finder options at IssueCategoriesControllerTest...
r12234 category = IssueCategory.order('id DESC').first
Jean-Philippe Lang
Adds functional tests....
r8828 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
Jean-Philippe Lang
Replaces find(:first) calls....
r10701 issue = Issue.where(:category_id => 1).first
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
Jean-Philippe Lang
Replaces find(:first) calls....
r10701 issue = Issue.where(:category_id => 1).first
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