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

r14954:42b5c332b2c2
r14997:ed50d42210ea
Show More
trackers_controller_test.rb
205 lines | 7.0 KiB | text/x-ruby | RubyLexer
/ test / functional / trackers_controller_test.rb
Jean-Philippe Lang
Adds projects association on tracker form (#2578)....
r2333 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Jean-Philippe Lang
Adds projects association on tracker form (#2578)....
r2333 #
# 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/trackers_controller_test.rb....
r6503 #
Jean-Philippe Lang
Adds projects association on tracker form (#2578)....
r2333 # 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/trackers_controller_test.rb....
r6503 #
Jean-Philippe Lang
Adds projects association on tracker form (#2578)....
r2333 # 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 projects association on tracker form (#2578)....
r2333
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class TrackersControllerTest < ActionController::TestCase
Jean-Philippe Lang
Default status per tracker (#5991)....
r13153 fixtures :trackers, :projects, :projects_trackers, :users, :issues, :custom_fields, :issue_statuses
Toshi MARUYAMA
remove trailing white-spaces from test/functional/trackers_controller_test.rb....
r6503
Jean-Philippe Lang
Adds projects association on tracker form (#2578)....
r2333 def setup
User.current = nil
@request.session[:user_id] = 1 # admin
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/trackers_controller_test.rb....
r6503
Jean-Philippe Lang
Trackers controller refactoring....
r2462 def test_index
get :index
assert_response :success
Eric Davis
Refactor: Merged TrackersController#list and #index...
r3323 assert_template 'index'
Jean-Philippe Lang
Trackers controller refactoring....
r2462 end
Jean-Philippe Lang
Adds API response to /trackers to get the list of all available trackers (#7181)....
r7757
def test_index_by_anonymous_should_redirect_to_login_form
@request.session[:user_id] = nil
get :index
assert_redirected_to '/login?back_url=http%3A%2F%2Ftest.host%2Ftrackers'
end
def test_index_by_user_should_respond_with_406
@request.session[:user_id] = 2
get :index
assert_response 406
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/trackers_controller_test.rb....
r6503
Jean-Philippe Lang
Resourcified trackers....
r7768 def test_new
Jean-Philippe Lang
Trackers controller refactoring....
r2462 get :new
assert_response :success
assert_template 'new'
end
Jean-Philippe Lang
Resourcified trackers....
r7768 def test_create
assert_difference 'Tracker.count' do
Jean-Philippe Lang
Default status per tracker (#5991)....
r13153 post :create, :tracker => { :name => 'New tracker', :default_status_id => 1, :project_ids => ['1', '', ''], :custom_field_ids => ['1', '6', ''] }
Jean-Philippe Lang
Resourcified trackers....
r7768 end
Eric Davis
Refactor: Merged TrackersController#list and #index...
r3323 assert_redirected_to :action => 'index'
Toshi MARUYAMA
Rails4: replace deprecated Relation#first with finder options at TrackersControllerTest...
r12368 tracker = Tracker.order('id DESC').first
Jean-Philippe Lang
Resourcified trackers....
r7768 assert_equal 'New tracker', tracker.name
Jean-Philippe Lang
Trackers controller refactoring....
r2462 assert_equal [1], tracker.project_ids.sort
Jean-Philippe Lang
Ability to disable standard fields on a per tracker basis (#1091)....
r9729 assert_equal Tracker::CORE_FIELDS, tracker.core_fields
Jean-Philippe Lang
Sort values for assertion....
r9004 assert_equal [1, 6], tracker.custom_field_ids.sort
Jean-Philippe Lang
Workflow enhancement: editable and required fields configurable by role, tracker and status (#703, #3521)....
r9794 assert_equal 0, tracker.workflow_rules.count
Jean-Philippe Lang
Trackers controller refactoring....
r2462 end
Jean-Philippe Lang
Default status per tracker (#5991)....
r13153 def test_create_with_disabled_core_fields
Jean-Philippe Lang
Ability to disable standard fields on a per tracker basis (#1091)....
r9729 assert_difference 'Tracker.count' do
Jean-Philippe Lang
Default status per tracker (#5991)....
r13153 post :create, :tracker => { :name => 'New tracker', :default_status_id => 1, :core_fields => ['assigned_to_id', 'fixed_version_id', ''] }
Jean-Philippe Lang
Ability to disable standard fields on a per tracker basis (#1091)....
r9729 end
assert_redirected_to :action => 'index'
Toshi MARUYAMA
Rails4: replace deprecated Relation#first with finder options at TrackersControllerTest...
r12368 tracker = Tracker.order('id DESC').first
Jean-Philippe Lang
Ability to disable standard fields on a per tracker basis (#1091)....
r9729 assert_equal 'New tracker', tracker.name
assert_equal %w(assigned_to_id fixed_version_id), tracker.core_fields
end
Jean-Philippe Lang
Resourcified trackers....
r7768 def test_create_new_with_workflow_copy
assert_difference 'Tracker.count' do
Jean-Philippe Lang
Default status per tracker (#5991)....
r13153 post :create, :tracker => { :name => 'New tracker', :default_status_id => 1 }, :copy_workflow_from => 1
Jean-Philippe Lang
Resourcified trackers....
r7768 end
Eric Davis
Refactor: Merged TrackersController#list and #index...
r3323 assert_redirected_to :action => 'index'
Jean-Philippe Lang
Trackers controller refactoring....
r2462 tracker = Tracker.find_by_name('New tracker')
assert_equal 0, tracker.projects.count
Jean-Philippe Lang
Workflow enhancement: editable and required fields configurable by role, tracker and status (#703, #3521)....
r9794 assert_equal Tracker.find(1).workflow_rules.count, tracker.workflow_rules.count
Jean-Philippe Lang
Trackers controller refactoring....
r2462 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/trackers_controller_test.rb....
r6503
Jean-Philippe Lang
Additional test for TrackersController....
r9307 def test_create_with_failure
Jean-Philippe Lang
Resourcified trackers....
r7768 assert_no_difference 'Tracker.count' do
Toshi MARUYAMA
code format clean up TrackersControllerTest...
r12504 post :create, :tracker => { :name => '', :project_ids => ['1', '', ''],
:custom_field_ids => ['1', '6', ''] }
Jean-Philippe Lang
Resourcified trackers....
r7768 end
assert_response :success
assert_template 'new'
Jean-Philippe Lang
Replaced "can't" with "cannot" in error messages....
r13399 assert_select_error /name cannot be blank/i
Jean-Philippe Lang
Resourcified trackers....
r7768 end
def test_edit
Jean-Philippe Lang
Adds projects association on tracker form (#2578)....
r2333 Tracker.find(1).project_ids = [1, 3]
Toshi MARUYAMA
remove trailing white-spaces from test/functional/trackers_controller_test.rb....
r6503
Jean-Philippe Lang
Adds projects association on tracker form (#2578)....
r2333 get :edit, :id => 1
assert_response :success
assert_template 'edit'
Toshi MARUYAMA
remove trailing white-spaces from test/functional/trackers_controller_test.rb....
r6503
Jean-Philippe Lang
Replaced remaining #assert_tag with #assert_select....
r13242 assert_select 'input[name=?][value="1"][checked=checked]', 'tracker[project_ids][]'
assert_select 'input[name=?][value="2"]:not([checked])', 'tracker[project_ids][]'
Toshi MARUYAMA
remove trailing white-spaces from test/functional/trackers_controller_test.rb....
r6503
Jean-Philippe Lang
Replaced remaining #assert_tag with #assert_select....
r13242 assert_select 'input[name=?][value=""][type=hidden]', 'tracker[project_ids][]'
Jean-Philippe Lang
Adds projects association on tracker form (#2578)....
r2333 end
Jean-Philippe Lang
Ability to disable standard fields on a per tracker basis (#1091)....
r9729 def test_edit_should_check_core_fields
tracker = Tracker.find(1)
tracker.core_fields = %w(assigned_to_id fixed_version_id)
tracker.save!
get :edit, :id => 1
assert_response :success
assert_template 'edit'
assert_select 'input[name=?][value=assigned_to_id][checked=checked]', 'tracker[core_fields][]'
assert_select 'input[name=?][value=fixed_version_id][checked=checked]', 'tracker[core_fields][]'
assert_select 'input[name=?][value=category_id]', 'tracker[core_fields][]'
assert_select 'input[name=?][value=category_id][checked=checked]', 'tracker[core_fields][]', 0
Jean-Philippe Lang
Quote values in DOM selectors for Nokogiri compatibility....
r13237 assert_select 'input[name=?][value=""][type=hidden]', 'tracker[core_fields][]'
Jean-Philippe Lang
Ability to disable standard fields on a per tracker basis (#1091)....
r9729 end
Jean-Philippe Lang
Resourcified trackers....
r7768 def test_update
put :update, :id => 1, :tracker => { :name => 'Renamed',
Jean-Philippe Lang
Adds projects association on tracker form (#2578)....
r2333 :project_ids => ['1', '2', ''] }
Eric Davis
Refactor: Merged TrackersController#list and #index...
r3323 assert_redirected_to :action => 'index'
Jean-Philippe Lang
Adds projects association on tracker form (#2578)....
r2333 assert_equal [1, 2], Tracker.find(1).project_ids.sort
end
Jean-Philippe Lang
Resourcified trackers....
r7768 def test_update_without_projects
put :update, :id => 1, :tracker => { :name => 'Renamed',
Jean-Philippe Lang
Adds projects association on tracker form (#2578)....
r2333 :project_ids => [''] }
Eric Davis
Refactor: Merged TrackersController#list and #index...
r3323 assert_redirected_to :action => 'index'
Jean-Philippe Lang
Adds projects association on tracker form (#2578)....
r2333 assert Tracker.find(1).project_ids.empty?
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/trackers_controller_test.rb....
r6503
Jean-Philippe Lang
Ability to disable standard fields on a per tracker basis (#1091)....
r9729 def test_update_without_core_fields
put :update, :id => 1, :tracker => { :name => 'Renamed', :core_fields => [''] }
assert_redirected_to :action => 'index'
assert Tracker.find(1).core_fields.empty?
end
Jean-Philippe Lang
Additional test for TrackersController....
r9307 def test_update_with_failure
put :update, :id => 1, :tracker => { :name => '' }
assert_response :success
assert_template 'edit'
Jean-Philippe Lang
Replaced "can't" with "cannot" in error messages....
r13399 assert_select_error /name cannot be blank/i
Jean-Philippe Lang
Additional test for TrackersController....
r9307 end
Jean-Philippe Lang
Trackers controller refactoring....
r2462 def test_move_lower
tracker = Tracker.find_by_position(1)
Jean-Philippe Lang
Lists can be reordered with drag and drop (#12909)....
r14954 put :update, :id => 1, :tracker => { :position => '2' }
Jean-Philippe Lang
Trackers controller refactoring....
r2462 assert_equal 2, tracker.reload.position
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/trackers_controller_test.rb....
r6503
Jean-Philippe Lang
Trackers controller refactoring....
r2462 def test_destroy
Jean-Philippe Lang
Default status per tracker (#5991)....
r13153 tracker = Tracker.generate!(:name => 'Destroyable')
Jean-Philippe Lang
Trackers controller refactoring....
r2462 assert_difference 'Tracker.count', -1 do
Jean-Philippe Lang
Resourcified trackers....
r7768 delete :destroy, :id => tracker.id
Jean-Philippe Lang
Trackers controller refactoring....
r2462 end
Eric Davis
Refactor: Merged TrackersController#list and #index...
r3323 assert_redirected_to :action => 'index'
Jean-Philippe Lang
Trackers controller refactoring....
r2462 assert_nil flash[:error]
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/trackers_controller_test.rb....
r6503
Jean-Philippe Lang
Trackers controller refactoring....
r2462 def test_destroy_tracker_in_use
assert_no_difference 'Tracker.count' do
Jean-Philippe Lang
Resourcified trackers....
r7768 delete :destroy, :id => 1
Jean-Philippe Lang
Trackers controller refactoring....
r2462 end
Eric Davis
Refactor: Merged TrackersController#list and #index...
r3323 assert_redirected_to :action => 'index'
Jean-Philippe Lang
Trackers controller refactoring....
r2462 assert_not_nil flash[:error]
end
Jean-Philippe Lang
Adds a view for editing all trackers fields....
r10100
def test_get_fields
get :fields
assert_response :success
assert_template 'fields'
assert_select 'form' do
assert_select 'input[type=checkbox][name=?][value=assigned_to_id]', 'trackers[1][core_fields][]'
Jean-Philippe Lang
Quote values in DOM selectors for Nokogiri compatibility....
r13237 assert_select 'input[type=checkbox][name=?][value="2"]', 'trackers[1][custom_field_ids][]'
Jean-Philippe Lang
Adds a view for editing all trackers fields....
r10100
Jean-Philippe Lang
Quote values in DOM selectors for Nokogiri compatibility....
r13237 assert_select 'input[type=hidden][name=?][value=""]', 'trackers[1][core_fields][]'
assert_select 'input[type=hidden][name=?][value=""]', 'trackers[1][custom_field_ids][]'
Jean-Philippe Lang
Adds a view for editing all trackers fields....
r10100 end
end
def test_post_fields
post :fields, :trackers => {
'1' => {'core_fields' => ['assigned_to_id', 'due_date', ''], 'custom_field_ids' => ['1', '2']},
'2' => {'core_fields' => [''], 'custom_field_ids' => ['']}
}
assert_redirected_to '/trackers/fields'
tracker = Tracker.find(1)
assert_equal %w(assigned_to_id due_date), tracker.core_fields
assert_equal [1, 2], tracker.custom_field_ids.sort
tracker = Tracker.find(2)
assert_equal [], tracker.core_fields
assert_equal [], tracker.custom_field_ids.sort
end
Jean-Philippe Lang
Adds projects association on tracker form (#2578)....
r2333 end