##// 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
enumerations_controller_test.rb
136 lines | 4.1 KiB | text/x-ruby | RubyLexer
/ test / functional / enumerations_controller_test.rb
Jean-Philippe Lang
Adds some functional tests....
r2477 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 #
# 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/enumerations_controller_test.rb....
r6472 #
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 # 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/enumerations_controller_test.rb....
r6472 #
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 # 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
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class EnumerationsControllerTest < ActionController::TestCase
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 fixtures :enumerations, :issues, :users
Toshi MARUYAMA
remove trailing white-spaces from test/functional/enumerations_controller_test.rb....
r6472
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 def setup
@request.session[:user_id] = 1 # admin
end
def test_index
get :index
assert_response :success
Jean-Philippe Lang
Removed EnumerationsController#list action....
r7853 assert_template 'index'
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/enumerations_controller_test.rb....
r6472
Jean-Philippe Lang
Makes enumerations available through the REST API....
r10453 def test_index_should_require_admin
@request.session[:user_id] = nil
get :index
assert_response 302
end
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 def test_new
get :new, :type => 'IssuePriority'
assert_response :success
assert_template 'new'
assert_kind_of IssuePriority, assigns(:enumeration)
Jean-Philippe Lang
Replaced some #assert_tag with #assert_select....
r13238 assert_select 'input[name=?][value=?]', 'enumeration[type]', 'IssuePriority'
assert_select 'input[name=?]', 'enumeration[name]'
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 end
Jean-Philippe Lang
Adds functional tests....
r8827 def test_new_with_invalid_type_should_respond_with_404
get :new, :type => 'UnknownType'
assert_response 404
end
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 def test_create
assert_difference 'IssuePriority.count' do
post :create, :enumeration => {:type => 'IssuePriority', :name => 'Lowest'}
end
Jean-Philippe Lang
Makes enumerations available through the REST API....
r10453 assert_redirected_to '/enumerations'
Jean-Philippe Lang
Rails3: :order option has no effect here because of the default_scope on Enumeration....
r8964 e = IssuePriority.find_by_name('Lowest')
assert_not_nil e
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 end
def test_create_with_failure
assert_no_difference 'IssuePriority.count' do
post :create, :enumeration => {:type => 'IssuePriority', :name => ''}
end
assert_response :success
assert_template 'new'
end
def test_edit
get :edit, :id => 6
assert_response :success
assert_template 'edit'
Jean-Philippe Lang
Replaced some #assert_tag with #assert_select....
r13238 assert_select 'input[name=?][value=?]', 'enumeration[name]', 'High'
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 end
Jean-Philippe Lang
Adds functional tests....
r8827 def test_edit_invalid_should_respond_with_404
get :edit, :id => 999
assert_response 404
end
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 def test_update
assert_no_difference 'IssuePriority.count' do
Jean-Philippe Lang
Resourcified enumerations....
r8069 put :update, :id => 6, :enumeration => {:type => 'IssuePriority', :name => 'New name'}
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 end
Jean-Philippe Lang
Makes enumerations available through the REST API....
r10453 assert_redirected_to '/enumerations'
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 e = IssuePriority.find(6)
assert_equal 'New name', e.name
end
def test_update_with_failure
assert_no_difference 'IssuePriority.count' do
Jean-Philippe Lang
Resourcified enumerations....
r8069 put :update, :id => 6, :enumeration => {:type => 'IssuePriority', :name => ''}
Jean-Philippe Lang
Adds functional tests for EnumerationsController....
r7867 end
assert_response :success
assert_template 'edit'
end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 def test_destroy_enumeration_not_in_use
Jean-Philippe Lang
Resourcified enumerations....
r8069 assert_difference 'IssuePriority.count', -1 do
delete :destroy, :id => 7
end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 assert_redirected_to :controller => 'enumerations', :action => 'index'
assert_nil Enumeration.find_by_id(7)
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/enumerations_controller_test.rb....
r6472
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 def test_destroy_enumeration_in_use
Jean-Philippe Lang
Resourcified enumerations....
r8069 assert_no_difference 'IssuePriority.count' do
delete :destroy, :id => 4
end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 assert_response :success
assert_template 'destroy'
assert_not_nil Enumeration.find_by_id(4)
Jean-Philippe Lang
Fixed that enumerations option tags are escaped....
r9498 assert_select 'select[name=reassign_to_id]' do
Jean-Philippe Lang
Quote values in DOM selectors for Nokogiri compatibility....
r13237 assert_select 'option[value="6"]', :text => 'High'
Jean-Philippe Lang
Fixed that enumerations option tags are escaped....
r9498 end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/enumerations_controller_test.rb....
r6472
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 def test_destroy_enumeration_in_use_with_reassignment
Jean-Philippe Lang
Replaces find(:first) calls....
r10701 issue = Issue.where(:priority_id => 4).first
Jean-Philippe Lang
Resourcified enumerations....
r8069 assert_difference 'IssuePriority.count', -1 do
delete :destroy, :id => 4, :reassign_to_id => 6
end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 assert_redirected_to :controller => 'enumerations', :action => 'index'
assert_nil Enumeration.find_by_id(4)
# check that the issue was reassign
assert_equal 6, issue.reload.priority_id
end
Jean-Philippe Lang
Fixed that submitting the form without selecting a value may raise raises an error with SQLServer (#13783)....
r11624
def test_destroy_enumeration_in_use_with_blank_reassignment
assert_no_difference 'IssuePriority.count' do
delete :destroy, :id => 4, :reassign_to_id => ''
end
assert_response :success
end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 end