##// END OF EJS Templates
Rails3: mail: rename app/views/mailer/*.text.html.rhtml to app/views/mailer/*.html.erb (#6317)...
Rails3: mail: rename app/views/mailer/*.text.html.rhtml to app/views/mailer/*.html.erb (#6317) git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7537 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r6922:de9e3f94d547
r7417:ef962b84d708
Show More
issues_controller_test.rb
1614 lines | 57.3 KiB | text/x-ruby | RubyLexer
/ test / functional / issues_controller_test.rb
Jean-Philippe Lang
Adds support for free ticket filtering and custom queries on Calendar....
r1796 # Redmine - project management software
Jean-Philippe Lang
Fixed: empty list for user/version custom fields on bulk edit form (#2096)....
r5234 # Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 #
# 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 functional IssuesController test....
r5677 #
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 # 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 functional IssuesController test....
r5677 #
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 # 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
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 require 'issues_controller'
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class IssuesControllerTest < ActionController::TestCase
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 fixtures :projects,
:users,
:roles,
:members,
Jean-Philippe Lang
Allows multiple roles on the same project (#706). Prerequisite for user groups feature....
r2627 :member_roles,
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 :issues,
:issue_statuses,
Jean-Philippe Lang
Functional tests fail when run on their own (#1895)....
r1826 :versions,
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 :trackers,
Jean-Philippe Lang
ProjectsController#add_issue moved to IssuesController#new....
r1066 :projects_trackers,
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 :issue_categories,
:enabled_modules,
:enumerations,
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 :attachments,
Jean-Philippe Lang
Added default value for custom fields. Fixed javascript on custom field form for project and user custom fields....
r1076 :workflows,
:custom_fields,
:custom_values,
Jean-Philippe Lang
Fixes fixtures loading....
r2987 :custom_fields_projects,
Jean-Philippe Lang
Let the user choose when deleting issues with reported hours (closes #734, #71):...
r1168 :custom_fields_trackers,
Jean-Philippe Lang
Fixes functional tests broken by r1501....
r1490 :time_entries,
:journals,
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 :journal_details,
:queries
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 def setup
@controller = IssuesController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
User.current = nil
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 def test_index
Jean-Philippe Lang
Adds a sortable "Project" column to the issue list....
r2498 Setting.default_language = 'en'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 get :index
assert_response :success
Toshi MARUYAMA
remove hard-coded '.rhtml' from "test_index" of functional issues controller test (#6317)....
r6914 assert_template 'index'
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 assert_not_nil assigns(:issues)
assert_nil assigns(:project)
Jean-Philippe Lang
Fixed: private subprojects are listed on the issues view (#1217)....
r1417 assert_tag :tag => 'a', :content => /Can't print recipes/
assert_tag :tag => 'a', :content => /Subproject issue/
# private projects hidden
assert_no_tag :tag => 'a', :content => /Issue of a private subproject/
assert_no_tag :tag => 'a', :content => /Issue on project 2/
Jean-Philippe Lang
Adds a sortable "Project" column to the issue list....
r2498 # project column
assert_tag :tag => 'th', :content => /Project/
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: cross-project issue list should not show issues of projects for which the issue tracking module was disabled....
r1905 def test_index_should_not_list_issues_when_module_disabled
EnabledModule.delete_all("name = 'issue_tracking' AND project_id = 1")
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 get :index
assert_response :success
Toshi MARUYAMA
remove hard-coded '.rhtml' from "test_index_should_not_list_issues_when_module_disabled" of functional issues controller test (#6317)....
r6915 assert_template 'index'
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 assert_not_nil assigns(:issues)
assert_nil assigns(:project)
assert_no_tag :tag => 'a', :content => /Can't print recipes/
assert_tag :tag => 'a', :content => /Subproject issue/
end
Jean-Philippe Lang
Private issues (#7414)....
r5346
def test_index_should_list_visible_issues_only
get :index, :per_page => 100
assert_response :success
assert_not_nil assigns(:issues)
assert_nil assigns(:issues).detect {|issue| !issue.visible?}
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 def test_index_with_project
Jean-Philippe Lang
Fixed: private subprojects are listed on the issues view (#1217)....
r1417 Setting.display_subprojects_issues = 0
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 get :index, :project_id => 1
assert_response :success
Toshi MARUYAMA
remove hard-coded '.rhtml' from "test_index_with_project" of functional issues controller test (#6317)....
r6919 assert_template 'index'
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 assert_not_nil assigns(:issues)
Jean-Philippe Lang
Fixed: private subprojects are listed on the issues view (#1217)....
r1417 assert_tag :tag => 'a', :content => /Can't print recipes/
assert_no_tag :tag => 'a', :content => /Subproject issue/
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: private subprojects are listed on the issues view (#1217)....
r1417 def test_index_with_project_and_subprojects
Setting.display_subprojects_issues = 1
get :index, :project_id => 1
assert_response :success
Toshi MARUYAMA
remove hard-coded '.rhtml' from "test_index_with_project_and_subprojects" of functional issues controller test (#6317)....
r6921 assert_template 'index'
Jean-Philippe Lang
Fixed: private subprojects are listed on the issues view (#1217)....
r1417 assert_not_nil assigns(:issues)
assert_tag :tag => 'a', :content => /Can't print recipes/
assert_tag :tag => 'a', :content => /Subproject issue/
assert_no_tag :tag => 'a', :content => /Issue of a private subproject/
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: private subprojects are listed on the issues view (#1217)....
r1417 def test_index_with_project_and_subprojects_should_show_private_subprojects
@request.session[:user_id] = 2
Setting.display_subprojects_issues = 1
get :index, :project_id => 1
assert_response :success
Toshi MARUYAMA
remove hard-coded '.rhtml' from "test_index_with_project_and_subprojects_should_show_private_subprojects" of functional issues controller test (#6317)....
r6920 assert_template 'index'
Jean-Philippe Lang
Fixed: private subprojects are listed on the issues view (#1217)....
r1417 assert_not_nil assigns(:issues)
assert_tag :tag => 'a', :content => /Can't print recipes/
assert_tag :tag => 'a', :content => /Subproject issue/
assert_tag :tag => 'a', :content => /Issue of a private subproject/
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: unchecking status filter on the issue list has no effect (#6844)....
r4273 def test_index_with_project_and_default_filter
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 get :index, :project_id => 1, :set_filter => 1
assert_response :success
Toshi MARUYAMA
remove hard-coded '.rhtml' from "test_index_with_project_and_default_filter" of functional issues controller test (#6317)....
r6908 assert_template 'index'
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 assert_not_nil assigns(:issues)
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: unchecking status filter on the issue list has no effect (#6844)....
r4273 query = assigns(:query)
assert_not_nil query
# default filter
assert_equal({'status_id' => {:operator => 'o', :values => ['']}}, query.filters)
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: unchecking status filter on the issue list has no effect (#6844)....
r4273 def test_index_with_project_and_filter
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 get :index, :project_id => 1, :set_filter => 1,
Jean-Philippe Lang
Shortens filter param names....
r5159 :f => ['tracker_id'],
:op => {'tracker_id' => '='},
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 :v => {'tracker_id' => ['1']}
Jean-Philippe Lang
Fixed: unchecking status filter on the issue list has no effect (#6844)....
r4273 assert_response :success
Toshi MARUYAMA
remove hard-coded '.rhtml' from "test_index_with_project_and_filter" of functional issues controller test (#6317)....
r6922 assert_template 'index'
Jean-Philippe Lang
Fixed: unchecking status filter on the issue list has no effect (#6844)....
r4273 assert_not_nil assigns(:issues)
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: unchecking status filter on the issue list has no effect (#6844)....
r4273 query = assigns(:query)
assert_not_nil query
assert_equal({'tracker_id' => {:operator => '=', :values => ['1']}}, query.filters)
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: unchecking status filter on the issue list has no effect (#6844)....
r4273 def test_index_with_project_and_empty_filters
get :index, :project_id => 1, :set_filter => 1, :fields => ['']
assert_response :success
Toshi MARUYAMA
remove hard-coded '.rhtml' from "test_index_with_project_and_empty_filters" of functional issues controller test (#6317)....
r6909 assert_template 'index'
Jean-Philippe Lang
Fixed: unchecking status filter on the issue list has no effect (#6844)....
r4273 assert_not_nil assigns(:issues)
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: unchecking status filter on the issue list has no effect (#6844)....
r4273 query = assigns(:query)
assert_not_nil query
# no filter
assert_equal({}, query.filters)
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Ticket grouping (#2679)....
r2604 def test_index_with_query
get :index, :project_id => 1, :query_id => 5
assert_response :success
Toshi MARUYAMA
remove hard-coded '.rhtml' from "test_index_with_query" of functional issues controller test (#6317)....
r6910 assert_template 'index'
Jean-Philippe Lang
Ticket grouping (#2679)....
r2604 assert_not_nil assigns(:issues)
assert_nil assigns(:issue_count_by_group)
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Allow issue grouping by custom field (#2679)....
r2957 def test_index_with_query_grouped_by_tracker
Jean-Philippe Lang
Ticket grouping (#2679)....
r2604 get :index, :project_id => 1, :query_id => 6
assert_response :success
Toshi MARUYAMA
remove hard-coded '.rhtml' from "test_index_with_query_grouped_by_tracker" of functional issues controller test (#6317)....
r6911 assert_template 'index'
Jean-Philippe Lang
Ticket grouping (#2679)....
r2604 assert_not_nil assigns(:issues)
Jean-Philippe Lang
Fixed: "None" category issue count is empty while grouping by category (#4308)....
r2998 assert_not_nil assigns(:issue_count_by_group)
Jean-Philippe Lang
Allow issue grouping by custom field (#2679)....
r2957 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Allow issue grouping by custom field (#2679)....
r2957 def test_index_with_query_grouped_by_list_custom_field
get :index, :project_id => 1, :query_id => 9
assert_response :success
Toshi MARUYAMA
remove hard-coded '.rhtml' from "test_index_with_query_grouped_by_list_custom_field" of functional issues controller test (#6317)....
r6912 assert_template 'index'
Jean-Philippe Lang
Allow issue grouping by custom field (#2679)....
r2957 assert_not_nil assigns(:issues)
Jean-Philippe Lang
Fixed: "None" category issue count is empty while grouping by category (#4308)....
r2998 assert_not_nil assigns(:issue_count_by_group)
Jean-Philippe Lang
Ticket grouping (#2679)....
r2604 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Fixed: private queries should not be accessible to other users (#8729)....
r6043 def test_private_query_should_not_be_available_to_other_users
q = Query.create!(:name => "private", :user => User.find(2), :is_public => false, :project => nil)
@request.session[:user_id] = 3
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Fixed: private queries should not be accessible to other users (#8729)....
r6043 get :index, :query_id => q.id
assert_response 403
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Fixed: private queries should not be accessible to other users (#8729)....
r6043 def test_private_query_should_be_available_to_its_user
q = Query.create!(:name => "private", :user => User.find(2), :is_public => false, :project => nil)
@request.session[:user_id] = 2
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Fixed: private queries should not be accessible to other users (#8729)....
r6043 get :index, :query_id => q.id
assert_response :success
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Fixed: private queries should not be accessible to other users (#8729)....
r6043 def test_public_query_should_be_available_to_other_users
q = Query.create!(:name => "private", :user => User.find(2), :is_public => true, :project => nil)
@request.session[:user_id] = 3
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Fixed: private queries should not be accessible to other users (#8729)....
r6043 get :index, :query_id => q.id
assert_response :success
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Add failing test for #4302....
r2982 def test_index_sort_by_field_not_included_in_columns
Setting.issue_list_default_columns = %w(subject author)
get :index, :sort => 'tracker'
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 def test_index_csv_with_project
Jean-Philippe Lang
Use FasterCSV or ruby1.9 CSV instead of ruby1.8 builtin CSV....
r2893 Setting.default_language = 'en'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 get :index, :format => 'csv'
assert_response :success
assert_not_nil assigns(:issues)
assert_equal 'text/csv', @response.content_type
Jean-Philippe Lang
Use FasterCSV or ruby1.9 CSV instead of ruby1.8 builtin CSV....
r2893 assert @response.body.starts_with?("#,")
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874
get :index, :project_id => 1, :format => 'csv'
assert_response :success
assert_not_nil assigns(:issues)
assert_equal 'text/csv', @response.content_type
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 def test_index_pdf
get :index, :format => 'pdf'
assert_response :success
assert_not_nil assigns(:issues)
assert_equal 'application/pdf', @response.content_type
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 get :index, :project_id => 1, :format => 'pdf'
assert_response :success
assert_not_nil assigns(:issues)
assert_equal 'application/pdf', @response.content_type
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Ticket grouping (#2679)....
r2604 get :index, :project_id => 1, :query_id => 6, :format => 'pdf'
assert_response :success
assert_not_nil assigns(:issues)
assert_equal 'application/pdf', @response.content_type
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: PDF export of a issue list grouped by a custom field raises an error (#4600)....
r3219 def test_index_pdf_with_query_grouped_by_list_custom_field
get :index, :project_id => 1, :query_id => 9, :format => 'pdf'
assert_response :success
assert_not_nil assigns(:issues)
assert_not_nil assigns(:issue_count_by_group)
assert_equal 'application/pdf', @response.content_type
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Validates sort_key and sort_order params (#2378)....
r2169 def test_index_sort
Jean-Philippe Lang
Fixing tests (sort refactoring)....
r2509 get :index, :sort => 'tracker,id:desc'
Jean-Philippe Lang
Validates sort_key and sort_order params (#2378)....
r2169 assert_response :success
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixing tests (sort refactoring)....
r2509 sort_params = @request.session['issues_index_sort']
assert sort_params.is_a?(String)
assert_equal 'tracker,id:desc', sort_params
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixing tests (sort refactoring)....
r2509 issues = assigns(:issues)
assert_not_nil issues
assert !issues.empty?
assert_equal issues.sort {|a,b| a.tracker == b.tracker ? b.id <=> a.id : a.tracker <=> b.tracker }.collect(&:id), issues.collect(&:id)
Jean-Philippe Lang
Validates sort_key and sort_order params (#2378)....
r2169 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Adds dynamic columns selection on the issue list (#4272)....
r2991 def test_index_with_columns
columns = ['tracker', 'subject', 'assigned_to']
Jean-Philippe Lang
Shorten query[column_names] param name....
r5184 get :index, :set_filter => 1, :c => columns
Jean-Philippe Lang
Adds dynamic columns selection on the issue list (#4272)....
r2991 assert_response :success
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Adds dynamic columns selection on the issue list (#4272)....
r2991 # query should use specified columns
query = assigns(:query)
assert_kind_of Query, query
assert_equal columns, query.column_names.map(&:to_s)
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Adds dynamic columns selection on the issue list (#4272)....
r2991 # columns should be stored in session
assert_kind_of Hash, session[:query]
assert_kind_of Array, session[:query][:column_names]
assert_equal columns, session[:query][:column_names].map(&:to_s)
Jean-Baptiste Barth
Added a test to ensure 'Project' column can be removed on issues list (#8411)...
r5979
# ensure only these columns are kept in the selected columns list
assert_tag :tag => 'select', :attributes => { :id => 'selected_columns' },
:children => { :count => 3 }
assert_no_tag :tag => 'option', :attributes => { :value => 'project' },
:parent => { :tag => 'select', :attributes => { :id => "selected_columns" } }
Jean-Philippe Lang
Adds dynamic columns selection on the issue list (#4272)....
r2991 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Wrap text custom fields in the issue list (#8064)....
r5212 def test_index_with_custom_field_column
columns = %w(tracker subject cf_2)
get :index, :set_filter => 1, :c => columns
assert_response :success
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Wrap text custom fields in the issue list (#8064)....
r5212 # query should use specified columns
query = assigns(:query)
assert_kind_of Query, query
assert_equal columns, query.column_names.map(&:to_s)
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Wrap text custom fields in the issue list (#8064)....
r5212 assert_tag :td,
:attributes => {:class => 'cf_2 string'},
:ancestor => {:tag => 'table', :attributes => {:class => /issues/}}
end
Jean-Philippe Lang
Adds support for free ticket filtering and custom queries on Gantt chart....
r1795
Toshi MARUYAMA
add test to respond nothing in case of content type is html with invalid query params (#8883, #6317)....
r6905 def test_index_send_html_if_query_is_invalid
get :index, :f => ['start_date'], :op => {:start_date => '='}
assert_equal 'text/html', @response.content_type
assert_template 'index'
end
Toshi MARUYAMA
add test to respond nothing in case of content type is not html with invalid query params (#8883, #6317)....
r6906 def test_index_send_nothing_if_query_is_invalid
get :index, :f => ['start_date'], :op => {:start_date => '='}, :format => 'csv'
assert_equal 'text/csv', @response.content_type
assert @response.body.blank?
end
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 def test_show_by_anonymous
Jean-Philippe Lang
Added some functional tests (issues)....
r971 get :show, :id => 1
assert_response :success
Toshi MARUYAMA
remove hard-coded '.rhtml' from "test_show_by_anonymous" of functional issues controller test (#6317)....
r6907 assert_template 'show'
Jean-Philippe Lang
Added some functional tests (issues)....
r971 assert_not_nil assigns(:issue)
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 assert_equal Issue.find(1), assigns(:issue)
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 # anonymous role is allowed to add a note
assert_tag :tag => 'form',
:descendant => { :tag => 'fieldset',
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 :child => { :tag => 'legend',
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 :content => /Notes/ } }
Jean-Philippe Lang
Added some functional tests (issues)....
r971 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 def test_show_by_manager
@request.session[:user_id] = 2
get :show, :id => 1
assert_response :success
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: issue description Quote button lost by r3941 (#7122)....
r4416 assert_tag :tag => 'a',
:content => /Quote/
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 assert_tag :tag => 'form',
:descendant => { :tag => 'fieldset',
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 :child => { :tag => 'legend',
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 :content => /Change properties/ } },
:descendant => { :tag => 'fieldset',
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 :child => { :tag => 'legend',
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 :content => /Log time/ } },
:descendant => { :tag => 'fieldset',
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 :child => { :tag => 'legend',
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 :content => /Notes/ } }
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Baptiste Barth
Do not show inactive issue priorities where not necessary (#8573)....
r5950 def test_update_form_should_not_display_inactive_enumerations
@request.session[:user_id] = 2
get :show, :id => 1
assert_response :success
assert ! IssuePriority.find(15).active?
assert_no_tag :option, :attributes => {:value => '15'},
:parent => {:tag => 'select', :attributes => {:id => 'issue_priority_id'} }
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Test that forms are well-formed for issue attachment upload....
r6202 def test_update_form_should_allow_attachment_upload
@request.session[:user_id] = 2
get :show, :id => 1
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Test that forms are well-formed for issue attachment upload....
r6202 assert_tag :tag => 'form',
:attributes => {:id => 'issue-form', :method => 'post', :enctype => 'multipart/form-data'},
:descendant => {
:tag => 'input',
:attributes => {:type => 'file', :name => 'attachments[1][file]'}
}
end
Jean-Baptiste Barth
Do not show inactive issue priorities where not necessary (#8573)....
r5950
Jean-Philippe Lang
Add view_issues permission (#3187)....
r2925 def test_show_should_deny_anonymous_access_without_permission
Role.anonymous.remove_permission!(:view_issues)
get :show, :id => 1
assert_response :redirect
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Private issues (#7414)....
r5346 def test_show_should_deny_anonymous_access_to_private_issue
Issue.update_all(["is_private = ?", true], "id = 1")
get :show, :id => 1
assert_response :redirect
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Add view_issues permission (#3187)....
r2925 def test_show_should_deny_non_member_access_without_permission
Role.non_member.remove_permission!(:view_issues)
@request.session[:user_id] = 9
get :show, :id => 1
assert_response 403
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Private issues (#7414)....
r5346 def test_show_should_deny_non_member_access_to_private_issue
Issue.update_all(["is_private = ?", true], "id = 1")
@request.session[:user_id] = 9
get :show, :id => 1
assert_response 403
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Add view_issues permission (#3187)....
r2925 def test_show_should_deny_member_access_without_permission
Role.find(1).remove_permission!(:view_issues)
@request.session[:user_id] = 2
get :show, :id => 1
assert_response 403
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Private issues (#7414)....
r5346 def test_show_should_deny_member_access_to_private_issue_without_permission
Issue.update_all(["is_private = ?", true], "id = 1")
@request.session[:user_id] = 3
get :show, :id => 1
assert_response 403
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Private issues (#7414)....
r5346 def test_show_should_allow_author_access_to_private_issue
Issue.update_all(["is_private = ?, author_id = 3", true], "id = 1")
@request.session[:user_id] = 3
get :show, :id => 1
assert_response :success
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Private issues (#7414)....
r5346 def test_show_should_allow_assignee_access_to_private_issue
Issue.update_all(["is_private = ?, assigned_to_id = 3", true], "id = 1")
@request.session[:user_id] = 3
get :show, :id => 1
assert_response :success
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Private issues (#7414)....
r5346 def test_show_should_allow_member_access_to_private_issue_with_permission
Issue.update_all(["is_private = ?", true], "id = 1")
User.find(3).roles_for_project(Project.find(1)).first.update_attribute :issues_visibility, 'all'
@request.session[:user_id] = 3
get :show, :id => 1
assert_response :success
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: issue details view discloses relations to issues that the user is not allowed to view (#2589)....
r2341 def test_show_should_not_disclose_relations_to_invisible_issues
Setting.cross_project_issue_relations = '1'
IssueRelation.create!(:issue_from => Issue.find(1), :issue_to => Issue.find(2), :relation_type => 'relates')
# Relation to a private project issue
IssueRelation.create!(:issue_from => Issue.find(1), :issue_to => Issue.find(4), :relation_type => 'relates')
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: issue details view discloses relations to issues that the user is not allowed to view (#2589)....
r2341 get :show, :id => 1
assert_response :success
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: issue details view discloses relations to issues that the user is not allowed to view (#2589)....
r2341 assert_tag :div, :attributes => { :id => 'relations' },
:descendant => { :tag => 'a', :content => /#2$/ }
assert_no_tag :div, :attributes => { :id => 'relations' },
:descendant => { :tag => 'a', :content => /#4$/ }
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
FIxed: inline images not displayed in atom feeds (#3391)....
r2669 def test_show_atom
get :show, :id => 2, :format => 'atom'
assert_response :success
Eric Davis
Refactor: move IssuesController#changes to JournalsController#index....
r3920 assert_template 'journals/index.rxml'
Jean-Philippe Lang
FIxed: inline images not displayed in atom feeds (#3391)....
r2669 # Inline image
Eric Davis
Use assert_select to check the download link. (#4204)...
r3444 assert_select 'content', :text => Regexp.new(Regexp.quote('http://test.host/attachments/download/10'))
Jean-Philippe Lang
FIxed: inline images not displayed in atom feeds (#3391)....
r2669 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Move PDF stuff to a single helper....
r2224 def test_show_export_to_pdf
Jean-Philippe Lang
Fixes r2226: exporting an issue with attachments to PDF raises an error (#2492)....
r2260 get :show, :id => 3, :format => 'pdf'
Jean-Philippe Lang
Move PDF stuff to a single helper....
r2224 assert_response :success
assert_equal 'application/pdf', @response.content_type
assert @response.body.starts_with?('%PDF')
assert_not_nil assigns(:issue)
end
Jean-Philippe Lang
ProjectsController#add_issue moved to IssuesController#new....
r1066 def test_get_new
@request.session[:user_id] = 2
get :new, :project_id => 1, :tracker_id => 1
assert_response :success
assert_template 'new'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 assert_tag :tag => 'input', :attributes => { :name => 'issue[custom_field_values][2]',
Jean-Philippe Lang
Added default value for custom fields. Fixed javascript on custom field form for project and user custom fields....
r1076 :value => 'Default string' }
Jean-Baptiste Barth
Do not show inactive issue priorities where not necessary (#8573)....
r5950
# Be sure we don't display inactive IssuePriorities
assert ! IssuePriority.find(15).active?
assert_no_tag :option, :attributes => {:value => '15'},
:parent => {:tag => 'select', :attributes => {:id => 'issue_priority_id'} }
Jean-Philippe Lang
ProjectsController#add_issue moved to IssuesController#new....
r1066 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Test that forms are well-formed for issue attachment upload....
r6202 def test_get_new_form_should_allow_attachment_upload
@request.session[:user_id] = 2
get :new, :project_id => 1, :tracker_id => 1
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Test that forms are well-formed for issue attachment upload....
r6202 assert_tag :tag => 'form',
:attributes => {:id => 'issue-form', :method => 'post', :enctype => 'multipart/form-data'},
:descendant => {
:tag => 'input',
:attributes => {:type => 'file', :name => 'attachments[1][file]'}
}
end
Jean-Philippe Lang
ProjectsController#add_issue moved to IssuesController#new....
r1066
def test_get_new_without_tracker_id
@request.session[:user_id] = 2
get :new, :project_id => 1
assert_response :success
assert_template 'new'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
ProjectsController#add_issue moved to IssuesController#new....
r1066 issue = assigns(:issue)
assert_not_nil issue
assert_equal Project.find(1).trackers.first, issue.tracker
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed that some error messages were not displayed (#2866)....
r2474 def test_get_new_with_no_default_status_should_display_an_error
@request.session[:user_id] = 2
IssueStatus.delete_all
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed that some error messages were not displayed (#2866)....
r2474 get :new, :project_id => 1
assert_response 500
Jean-Philippe Lang
Refactor: merged error rendering methods....
r4172 assert_error_tag :content => /No default issue/
Jean-Philippe Lang
Fixed that some error messages were not displayed (#2866)....
r2474 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed that some error messages were not displayed (#2866)....
r2474 def test_get_new_with_no_tracker_should_display_an_error
@request.session[:user_id] = 2
Tracker.delete_all
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed that some error messages were not displayed (#2866)....
r2474 get :new, :project_id => 1
assert_response 500
Jean-Philippe Lang
Refactor: merged error rendering methods....
r4172 assert_error_tag :content => /No tracker/
Jean-Philippe Lang
Fixed that some error messages were not displayed (#2866)....
r2474 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
ProjectsController#add_issue moved to IssuesController#new....
r1066 def test_update_new_form
@request.session[:user_id] = 2
Eric Davis
Refactor: merge IssuesController#update_form into IssuesController#new...
r3897 xhr :post, :new, :project_id => 1,
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 :issue => {:tracker_id => 2,
Jean-Philippe Lang
ProjectsController#add_issue moved to IssuesController#new....
r1066 :subject => 'This is the test_new issue',
:description => 'This is the description',
:priority_id => 5}
assert_response :success
Jean-Philippe Lang
Enable tracker update on issue edit form (#2405)....
r2994 assert_template 'attributes'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Enable tracker update on issue edit form (#2405)....
r2994 issue = assigns(:issue)
assert_kind_of Issue, issue
assert_equal 1, issue.project_id
assert_equal 2, issue.tracker_id
assert_equal 'This is the test_new issue', issue.subject
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Split IssuesController#new to #new and #create to match REST pattern....
r3574 def test_post_create
Jean-Philippe Lang
ProjectsController#add_issue moved to IssuesController#new....
r1066 @request.session[:user_id] = 2
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 assert_difference 'Issue.count' do
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 post :create, :project_id => 1,
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 :issue => {:tracker_id => 3,
Jean-Philippe Lang
Cleans up status assignment in IssuesController#new handled by Issue#safe_attributes= now....
r3492 :status_id => 2,
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 :subject => 'This is the test_new issue',
:description => 'This is the description',
:priority_id => 5,
Jean-Philippe Lang
Fixed: start date being filled with current date even when blank value is submitted (#6575)....
r4264 :start_date => '2010-11-07',
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 :estimated_hours => '',
:custom_field_values => {'2' => 'Value for field 2'}}
end
assert_redirected_to :controller => 'issues', :action => 'show', :id => Issue.last.id
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Added default value for custom fields. Fixed javascript on custom field form for project and user custom fields....
r1076 issue = Issue.find_by_subject('This is the test_new issue')
assert_not_nil issue
assert_equal 2, issue.author_id
Jean-Philippe Lang
Fixed: issues always created with default tracker (#1553)....
r1596 assert_equal 3, issue.tracker_id
Jean-Philippe Lang
Cleans up status assignment in IssuesController#new handled by Issue#safe_attributes= now....
r3492 assert_equal 2, issue.status_id
Jean-Philippe Lang
Fixed: start date being filled with current date even when blank value is submitted (#6575)....
r4264 assert_equal Date.parse('2010-11-07'), issue.start_date
Jean-Philippe Lang
Fixed: Updating tickets add a time log with zero hours (#1147)....
r1370 assert_nil issue.estimated_hours
Jean-Philippe Lang
Fixes custom fields display order at several places (#1768)....
r1730 v = issue.custom_values.find(:first, :conditions => {:custom_field_id => 2})
Jean-Philippe Lang
Added default value for custom fields. Fixed javascript on custom field form for project and user custom fields....
r1076 assert_not_nil v
assert_equal 'Value for field 2', v.value
Jean-Philippe Lang
ProjectsController#add_issue moved to IssuesController#new....
r1066 end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Ability to assign issues to groups (#2964)....
r6186 def test_post_new_with_group_assignment
group = Group.find(11)
project = Project.find(1)
project.members << Member.new(:principal => group, :roles => [Role.first])
with_settings :issue_group_assignment => '1' do
@request.session[:user_id] = 2
assert_difference 'Issue.count' do
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793 post :create, :project_id => project.id,
Jean-Philippe Lang
Ability to assign issues to groups (#2964)....
r6186 :issue => {:tracker_id => 3,
:status_id => 1,
:subject => 'This is the test_new_with_group_assignment issue',
:assigned_to_id => group.id}
end
end
assert_redirected_to :controller => 'issues', :action => 'show', :id => Issue.last.id
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Ability to assign issues to groups (#2964)....
r6186 issue = Issue.find_by_subject('This is the test_new_with_group_assignment issue')
assert_not_nil issue
assert_equal group, issue.assigned_to
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: start date being filled with current date even when blank value is submitted (#6575)....
r4264 def test_post_create_without_start_date
@request.session[:user_id] = 2
assert_difference 'Issue.count' do
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 post :create, :project_id => 1,
Jean-Philippe Lang
Fixed: start date being filled with current date even when blank value is submitted (#6575)....
r4264 :issue => {:tracker_id => 3,
:status_id => 2,
:subject => 'This is the test_new issue',
:description => 'This is the description',
:priority_id => 5,
:start_date => '',
:estimated_hours => '',
:custom_field_values => {'2' => 'Value for field 2'}}
end
assert_redirected_to :controller => 'issues', :action => 'show', :id => Issue.last.id
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: start date being filled with current date even when blank value is submitted (#6575)....
r4264 issue = Issue.find_by_subject('This is the test_new issue')
assert_not_nil issue
assert_nil issue.start_date
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Split IssuesController#new to #new and #create to match REST pattern....
r3574 def test_post_create_and_continue
Jean-Philippe Lang
Adds a 'Create and continue' button on the new issue form, that will create the issue and display the form again (#2523)....
r2263 @request.session[:user_id] = 2
Jean-Philippe Lang
Adds issue id link in the issue creation flash message (#3033)....
r6090 assert_difference 'Issue.count' do
post :create, :project_id => 1,
:issue => {:tracker_id => 3, :subject => 'This is first issue', :priority_id => 5},
:continue => ''
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Adds issue id link in the issue creation flash message (#3033)....
r6090 issue = Issue.first(:order => 'id DESC')
assert_redirected_to :controller => 'issues', :action => 'new', :project_id => 'ecookbook', :issue => {:tracker_id => 3}
assert_not_nil flash[:notice], "flash was not set"
assert flash[:notice].include?("<a href='/issues/#{issue.id}'>##{issue.id}</a>"), "issue link not found in flash: #{flash[:notice]}"
Jean-Philippe Lang
Adds a 'Create and continue' button on the new issue form, that will create the issue and display the form again (#2523)....
r2263 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Split IssuesController#new to #new and #create to match REST pattern....
r3574 def test_post_create_without_custom_fields_param
Jean-Philippe Lang
Prevent NoMethodError on nil class if custom_fields params is not present in IssuesController#new (#969)....
r1302 @request.session[:user_id] = 2
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 assert_difference 'Issue.count' do
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 post :create, :project_id => 1,
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 :issue => {:tracker_id => 1,
:subject => 'This is the test_new issue',
:description => 'This is the description',
:priority_id => 5}
end
assert_redirected_to :controller => 'issues', :action => 'show', :id => Issue.last.id
Jean-Philippe Lang
Prevent NoMethodError on nil class if custom_fields params is not present in IssuesController#new (#969)....
r1302 end
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315
Eric Davis
Refactor: Split IssuesController#new to #new and #create to match REST pattern....
r3574 def test_post_create_with_required_custom_field_and_without_custom_fields_param
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 field = IssueCustomField.find_by_name('Database')
field.update_attribute(:is_required, true)
@request.session[:user_id] = 2
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 post :create, :project_id => 1,
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 :issue => {:tracker_id => 1,
:subject => 'This is the test_new issue',
:description => 'This is the description',
:priority_id => 5}
assert_response :success
assert_template 'new'
issue = assigns(:issue)
assert_not_nil issue
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 assert_equal I18n.translate('activerecord.errors.messages.invalid'), issue.errors.on(:custom_values)
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Split IssuesController#new to #new and #create to match REST pattern....
r3574 def test_post_create_with_watchers
Jean-Philippe Lang
Adds watchers selection on new issue form (#398). Permission 'add issue watchers' required....
r2162 @request.session[:user_id] = 2
ActionMailer::Base.deliveries.clear
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Adds watchers selection on new issue form (#398). Permission 'add issue watchers' required....
r2162 assert_difference 'Watcher.count', 2 do
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 post :create, :project_id => 1,
Jean-Philippe Lang
Adds watchers selection on new issue form (#398). Permission 'add issue watchers' required....
r2162 :issue => {:tracker_id => 1,
:subject => 'This is a new issue with watchers',
:description => 'This is the description',
:priority_id => 5,
:watcher_user_ids => ['2', '3']}
end
issue = Issue.find_by_subject('This is a new issue with watchers')
Jean-Philippe Lang
Slight changes in functional tests....
r2233 assert_not_nil issue
assert_redirected_to :controller => 'issues', :action => 'show', :id => issue
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Adds watchers selection on new issue form (#398). Permission 'add issue watchers' required....
r2162 # Watchers added
assert_equal [2, 3], issue.watcher_user_ids.sort
assert issue.watched_by?(User.find(3))
# Watchers notified
mail = ActionMailer::Base.deliveries.last
assert_kind_of TMail::Mail, mail
assert [mail.bcc, mail.cc].flatten.include?(User.find(3).mail)
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Split IssuesController#new to #new and #create to match REST pattern....
r3574 def test_post_create_subissue
Jean-Philippe Lang
Adds subtasking (#443) including:...
r3459 @request.session[:user_id] = 2
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Adds subtasking (#443) including:...
r3459 assert_difference 'Issue.count' do
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 post :create, :project_id => 1,
Jean-Philippe Lang
Adds subtasking (#443) including:...
r3459 :issue => {:tracker_id => 1,
:subject => 'This is a child issue',
:parent_issue_id => 2}
end
issue = Issue.find_by_subject('This is a child issue')
assert_not_nil issue
assert_equal Issue.find(2), issue.parent
end
Jean-Philippe Lang
Fixed: submitting a non numerical parent task input creates a 500 error (#6932)....
r4300
def test_post_create_subissue_with_non_numeric_parent_id
@request.session[:user_id] = 2
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: submitting a non numerical parent task input creates a 500 error (#6932)....
r4300 assert_difference 'Issue.count' do
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 post :create, :project_id => 1,
Jean-Philippe Lang
Fixed: submitting a non numerical parent task input creates a 500 error (#6932)....
r4300 :issue => {:tracker_id => 1,
:subject => 'This is a child issue',
:parent_issue_id => 'ABC'}
end
issue = Issue.find_by_subject('This is a child issue')
assert_not_nil issue
assert_nil issue.parent
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Fixed: Private flag ignored when creating an issue with set_own_issues_private permission only (#8472)....
r5871 def test_post_create_private
@request.session[:user_id] = 2
assert_difference 'Issue.count' do
post :create, :project_id => 1,
:issue => {:tracker_id => 1,
:subject => 'This is a private issue',
:is_private => '1'}
end
issue = Issue.first(:order => 'id DESC')
assert issue.is_private?
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Fixed: Private flag ignored when creating an issue with set_own_issues_private permission only (#8472)....
r5871 def test_post_create_private_with_set_own_issues_private_permission
role = Role.find(1)
role.remove_permission! :set_issues_private
role.add_permission! :set_own_issues_private
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Fixed: Private flag ignored when creating an issue with set_own_issues_private permission only (#8472)....
r5871 @request.session[:user_id] = 2
assert_difference 'Issue.count' do
post :create, :project_id => 1,
:issue => {:tracker_id => 1,
:subject => 'This is a private issue',
:is_private => '1'}
end
issue = Issue.first(:order => 'id DESC')
assert issue.is_private?
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Split IssuesController#new to #new and #create to match REST pattern....
r3574 def test_post_create_should_send_a_notification
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 ActionMailer::Base.deliveries.clear
@request.session[:user_id] = 2
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 assert_difference 'Issue.count' do
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 post :create, :project_id => 1,
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 :issue => {:tracker_id => 3,
:subject => 'This is the test_new issue',
:description => 'This is the description',
:priority_id => 5,
:estimated_hours => '',
:custom_field_values => {'2' => 'Value for field 2'}}
end
assert_redirected_to :controller => 'issues', :action => 'show', :id => Issue.last.id
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 assert_equal 1, ActionMailer::Base.deliveries.size
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Split IssuesController#new to #new and #create to match REST pattern....
r3574 def test_post_create_should_preserve_fields_values_on_validation_failure
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 @request.session[:user_id] = 2
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 post :create, :project_id => 1,
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 :issue => {:tracker_id => 1,
Jean-Philippe Lang
Fixes functional test broken by r2246....
r2246 # empty subject
:subject => '',
:description => 'This is a description',
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 :priority_id => 6,
:custom_field_values => {'1' => 'Oracle', '2' => 'Value for field 2'}}
assert_response :success
assert_template 'new'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixes functional test broken by r2246....
r2246 assert_tag :textarea, :attributes => { :name => 'issue[description]' },
:content => 'This is a description'
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 assert_tag :select, :attributes => { :name => 'issue[priority_id]' },
:child => { :tag => 'option', :attributes => { :selected => 'selected',
:value => '6' },
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 :content => 'High' }
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 # Custom fields
assert_tag :select, :attributes => { :name => 'issue[custom_field_values][1]' },
:child => { :tag => 'option', :attributes => { :selected => 'selected',
:value => 'Oracle' },
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 :content => 'Oracle' }
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 assert_tag :input, :attributes => { :name => 'issue[custom_field_values][2]',
:value => 'Value for field 2'}
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Split IssuesController#new to #new and #create to match REST pattern....
r3574 def test_post_create_should_ignore_non_safe_attributes
Jean-Philippe Lang
Set a white list of issue attributes that can be mass-assigned from controllers....
r3194 @request.session[:user_id] = 2
assert_nothing_raised do
Eric Davis
Refactor: Split IssuesController#new to #new and #create to match REST pattern....
r3574 post :create, :project_id => 1, :issue => { :tracker => "A param can not be a Tracker" }
Jean-Philippe Lang
Set a white list of issue attributes that can be mass-assigned from controllers....
r3194 end
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Additional functional tests for issue attachment upload....
r6201 def test_post_create_with_attachment
set_tmp_attachments_directory
@request.session[:user_id] = 2
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Additional functional tests for issue attachment upload....
r6201 assert_difference 'Issue.count' do
assert_difference 'Attachment.count' do
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793 post :create, :project_id => 1,
Jean-Philippe Lang
Additional functional tests for issue attachment upload....
r6201 :issue => { :tracker_id => '1', :subject => 'With attachment' },
:attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}}
end
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Additional functional tests for issue attachment upload....
r6201 issue = Issue.first(:order => 'id DESC')
attachment = Attachment.first(:order => 'id DESC')
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Additional functional tests for issue attachment upload....
r6201 assert_equal issue, attachment.container
assert_equal 2, attachment.author_id
assert_equal 'testfile.txt', attachment.filename
assert_equal 'text/plain', attachment.content_type
assert_equal 'test file', attachment.description
assert_equal 59, attachment.filesize
assert File.exists?(attachment.diskfile)
assert_equal 59, File.size(attachment.diskfile)
end
Jean-Philippe Lang
Cleans up status assignment in IssuesController#new handled by Issue#safe_attributes= now....
r3492 context "without workflow privilege" do
setup do
Workflow.delete_all(["role_id = ?", Role.anonymous.id])
Jean-Philippe Lang
Moved some permission checks for issue update from controller to model....
r4279 Role.anonymous.add_permission! :add_issues, :add_issue_notes
Jean-Philippe Lang
Cleans up status assignment in IssuesController#new handled by Issue#safe_attributes= now....
r3492 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Cleans up status assignment in IssuesController#new handled by Issue#safe_attributes= now....
r3492 context "#new" do
should "propose default status only" do
get :new, :project_id => 1
assert_response :success
assert_template 'new'
assert_tag :tag => 'select',
:attributes => {:name => 'issue[status_id]'},
:children => {:count => 1},
:child => {:tag => 'option', :attributes => {:value => IssueStatus.default.id.to_s}}
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Cleans up status assignment in IssuesController#new handled by Issue#safe_attributes= now....
r3492 should "accept default status" do
assert_difference 'Issue.count' do
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 post :create, :project_id => 1,
Jean-Philippe Lang
Cleans up status assignment in IssuesController#new handled by Issue#safe_attributes= now....
r3492 :issue => {:tracker_id => 1,
:subject => 'This is an issue',
:status_id => 1}
end
issue = Issue.last(:order => 'id')
assert_equal IssueStatus.default, issue.status
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Cleans up status assignment in IssuesController#new handled by Issue#safe_attributes= now....
r3492 should "ignore unauthorized status" do
assert_difference 'Issue.count' do
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 post :create, :project_id => 1,
Jean-Philippe Lang
Cleans up status assignment in IssuesController#new handled by Issue#safe_attributes= now....
r3492 :issue => {:tracker_id => 1,
:subject => 'This is an issue',
:status_id => 3}
end
issue = Issue.last(:order => 'id')
assert_equal IssueStatus.default, issue.status
end
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Moved some permission checks for issue update from controller to model....
r4279 context "#update" do
should "ignore status change" do
assert_difference 'Journal.count' do
put :update, :id => 1, :notes => 'just trying', :issue => {:status_id => 3}
end
assert_equal 1, Issue.find(1).status_id
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Moved some permission checks for issue update from controller to model....
r4279 should "ignore attributes changes" do
assert_difference 'Journal.count' do
put :update, :id => 1, :notes => 'just trying', :issue => {:subject => 'changed', :assigned_to_id => 2}
end
issue = Issue.find(1)
assert_equal "Can't print recipes", issue.subject
assert_nil issue.assigned_to
end
end
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Moved some permission checks for issue update from controller to model....
r4279 context "with workflow privilege" do
setup do
Workflow.delete_all(["role_id = ?", Role.anonymous.id])
Workflow.create!(:role => Role.anonymous, :tracker_id => 1, :old_status_id => 1, :new_status_id => 3)
Workflow.create!(:role => Role.anonymous, :tracker_id => 1, :old_status_id => 1, :new_status_id => 4)
Role.anonymous.add_permission! :add_issues, :add_issue_notes
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Moved some permission checks for issue update from controller to model....
r4279 context "#update" do
should "accept authorized status" do
assert_difference 'Journal.count' do
put :update, :id => 1, :notes => 'just trying', :issue => {:status_id => 3}
end
assert_equal 3, Issue.find(1).status_id
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Moved some permission checks for issue update from controller to model....
r4279 should "ignore unauthorized status" do
assert_difference 'Journal.count' do
put :update, :id => 1, :notes => 'just trying', :issue => {:status_id => 2}
end
assert_equal 1, Issue.find(1).status_id
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Moved some permission checks for issue update from controller to model....
r4279 should "accept authorized attributes changes" do
assert_difference 'Journal.count' do
put :update, :id => 1, :notes => 'just trying', :issue => {:assigned_to_id => 2}
end
issue = Issue.find(1)
assert_equal 2, issue.assigned_to_id
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Moved some permission checks for issue update from controller to model....
r4279 should "ignore unauthorized attributes changes" do
assert_difference 'Journal.count' do
put :update, :id => 1, :notes => 'just trying', :issue => {:subject => 'changed'}
end
issue = Issue.find(1)
assert_equal "Can't print recipes", issue.subject
end
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Moved some permission checks for issue update from controller to model....
r4279 context "and :edit_issues permission" do
setup do
Role.anonymous.add_permission! :add_issues, :edit_issues
end
should "accept authorized status" do
assert_difference 'Journal.count' do
put :update, :id => 1, :notes => 'just trying', :issue => {:status_id => 3}
end
assert_equal 3, Issue.find(1).status_id
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Moved some permission checks for issue update from controller to model....
r4279 should "ignore unauthorized status" do
assert_difference 'Journal.count' do
put :update, :id => 1, :notes => 'just trying', :issue => {:status_id => 2}
end
assert_equal 1, Issue.find(1).status_id
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Moved some permission checks for issue update from controller to model....
r4279 should "accept authorized attributes changes" do
assert_difference 'Journal.count' do
put :update, :id => 1, :notes => 'just trying', :issue => {:subject => 'changed', :assigned_to_id => 2}
end
issue = Issue.find(1)
assert_equal "changed", issue.subject
assert_equal 2, issue.assigned_to_id
end
end
Jean-Philippe Lang
Cleans up status assignment in IssuesController#new handled by Issue#safe_attributes= now....
r3492 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
ProjectsController#add_issue moved to IssuesController#new....
r1066 def test_copy_issue
@request.session[:user_id] = 2
get :new, :project_id => 1, :copy_from => 1
assert_template 'new'
assert_not_nil assigns(:issue)
orig = Issue.find(1)
assert_equal orig.subject, assigns(:issue).subject
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Added some functional tests (issues)....
r971 def test_get_edit
@request.session[:user_id] = 2
get :edit, :id => 1
assert_response :success
assert_template 'edit'
assert_not_nil assigns(:issue)
assert_equal Issue.find(1), assigns(:issue)
Jean-Baptiste Barth
Do not show inactive issue priorities where not necessary (#8573)....
r5950
# Be sure we don't display inactive IssuePriorities
assert ! IssuePriority.find(15).active?
assert_no_tag :option, :attributes => {:value => '15'},
:parent => {:tag => 'select', :attributes => {:id => 'issue_priority_id'} }
Jean-Philippe Lang
Added some functional tests (issues)....
r971 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once....
r1116 def test_get_edit_with_params
@request.session[:user_id] = 2
Jean-Philippe Lang
Initialize TimeEntry attributes with params when editing an issue (#5441)....
r4297 get :edit, :id => 1, :issue => { :status_id => 5, :priority_id => 7 },
:time_entry => { :hours => '2.5', :comments => 'test_get_edit_with_params', :activity_id => TimeEntryActivity.first.id }
Jean-Philippe Lang
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once....
r1116 assert_response :success
assert_template 'edit'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once....
r1116 issue = assigns(:issue)
assert_not_nil issue
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once....
r1116 assert_equal 5, issue.status_id
assert_tag :select, :attributes => { :name => 'issue[status_id]' },
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 :child => { :tag => 'option',
Jean-Philippe Lang
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once....
r1116 :content => 'Closed',
:attributes => { :selected => 'selected' } }
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once....
r1116 assert_equal 7, issue.priority_id
assert_tag :select, :attributes => { :name => 'issue[priority_id]' },
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 :child => { :tag => 'option',
Jean-Philippe Lang
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once....
r1116 :content => 'Urgent',
:attributes => { :selected => 'selected' } }
Jean-Philippe Lang
Initialize TimeEntry attributes with params when editing an issue (#5441)....
r4297
assert_tag :input, :attributes => { :name => 'time_entry[hours]', :value => '2.5' }
assert_tag :select, :attributes => { :name => 'time_entry[activity_id]' },
:child => { :tag => 'option',
:attributes => { :selected => 'selected', :value => TimeEntryActivity.first.id } }
assert_tag :input, :attributes => { :name => 'time_entry[comments]', :value => 'test_get_edit_with_params' }
Jean-Philippe Lang
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once....
r1116 end
Jean-Philippe Lang
Enable tracker update on issue edit form (#2405)....
r2994
def test_update_edit_form
@request.session[:user_id] = 2
Eric Davis
Refactor: merge IssuesController#update_form into IssuesController#new...
r3897 xhr :post, :new, :project_id => 1,
Jean-Philippe Lang
Enable tracker update on issue edit form (#2405)....
r2994 :id => 1,
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677 :issue => {:tracker_id => 2,
Jean-Philippe Lang
Enable tracker update on issue edit form (#2405)....
r2994 :subject => 'This is the test_new issue',
:description => 'This is the description',
:priority_id => 5}
assert_response :success
assert_template 'attributes'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Enable tracker update on issue edit form (#2405)....
r2994 issue = assigns(:issue)
assert_kind_of Issue, issue
assert_equal 1, issue.id
assert_equal 1, issue.project_id
assert_equal 2, issue.tracker_id
assert_equal 'This is the test_new issue', issue.subject
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Verify issues are updated by HTTP PUT only. Regression from r3486....
r3406 def test_update_using_invalid_http_verbs
@request.session[:user_id] = 2
subject = 'Updated by an invalid http verb'
get :update, :id => 1, :issue => {:subject => subject}
assert_not_equal subject, Issue.find(1).subject
post :update, :id => 1, :issue => {:subject => subject}
assert_not_equal subject, Issue.find(1).subject
delete :update, :id => 1, :issue => {:subject => subject}
assert_not_equal subject, Issue.find(1).subject
end
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 def test_put_update_without_custom_fields_param
Jean-Philippe Lang
Added some functional tests (issues)....
r971 @request.session[:user_id] = 2
Jean-Philippe Lang
Add email notification to IssuesController#edit....
r1005 ActionMailer::Base.deliveries.clear
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Add email notification to IssuesController#edit....
r1005 issue = Issue.find(1)
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 assert_equal '125', issue.custom_value_for(2).value
Jean-Philippe Lang
Add email notification to IssuesController#edit....
r1005 old_subject = issue.subject
new_subject = 'Subject modified by IssuesControllerTest#test_post_edit'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 assert_difference('Journal.count') do
assert_difference('JournalDetail.count', 2) do
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 put :update, :id => 1, :issue => {:subject => new_subject,
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 :priority_id => '6',
:category_id => '1' # no change
}
end
end
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 assert_redirected_to :action => 'show', :id => '1'
Jean-Philippe Lang
Add email notification to IssuesController#edit....
r1005 issue.reload
assert_equal new_subject, issue.subject
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 # Make sure custom fields were not cleared
assert_equal '125', issue.custom_value_for(2).value
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Add email notification to IssuesController#edit....
r1005 mail = ActionMailer::Base.deliveries.last
assert_kind_of TMail::Mail, mail
assert mail.subject.starts_with?("[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}]")
assert mail.body.include?("Subject changed from #{old_subject} to #{new_subject}")
Jean-Philippe Lang
Added some functional tests (issues)....
r971 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 def test_put_update_with_custom_field_change
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 @request.session[:user_id] = 2
issue = Issue.find(1)
assert_equal '125', issue.custom_value_for(2).value
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 assert_difference('Journal.count') do
assert_difference('JournalDetail.count', 3) do
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 put :update, :id => 1, :issue => {:subject => 'Custom field change',
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 :priority_id => '6',
:category_id => '1', # no change
:custom_field_values => { '2' => 'New custom value' }
}
end
end
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 assert_redirected_to :action => 'show', :id => '1'
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 issue.reload
assert_equal 'New custom value', issue.custom_value_for(2).value
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Custom fields refactoring: most of code moved from controllers to models (using new module ActsAsCustomizable)....
r1578 mail = ActionMailer::Base.deliveries.last
assert_kind_of TMail::Mail, mail
assert mail.body.include?("Searchable field changed from 125 to New custom value")
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 def test_put_update_with_status_and_assignee_change
Jean-Philippe Lang
Added some functional tests (issues)....
r971 issue = Issue.find(1)
assert_equal 1, issue.status_id
@request.session[:user_id] = 2
Jean-Philippe Lang
Fixed: Updating tickets add a time log with zero hours (#1147)....
r1370 assert_difference('TimeEntry.count', 0) do
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 put :update,
Jean-Philippe Lang
Fixed: Updating tickets add a time log with zero hours (#1147)....
r1370 :id => 1,
:issue => { :status_id => 2, :assigned_to_id => 3 },
:notes => 'Assigned to dlopper',
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 :time_entry => { :hours => '', :comments => '', :activity_id => TimeEntryActivity.first }
Jean-Philippe Lang
Fixed: Updating tickets add a time log with zero hours (#1147)....
r1370 end
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 assert_redirected_to :action => 'show', :id => '1'
Jean-Philippe Lang
Added some functional tests (issues)....
r971 issue.reload
assert_equal 2, issue.status_id
Jean-Philippe Lang
Fixes odd test failures....
r3098 j = Journal.find(:first, :order => 'id DESC')
Jean-Philippe Lang
Added some functional tests (issues)....
r971 assert_equal 'Assigned to dlopper', j.notes
assert_equal 2, j.details.size
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 mail = ActionMailer::Base.deliveries.last
assert mail.body.include?("Status changed from New to Assigned")
Jean-Philippe Lang
Fixed: Issue status in the notify email's subject is the issue's old status, should be its new status (#3194)....
r2581 # subject should contain the new status
assert mail.subject.include?("(#{ IssueStatus.find(2).name })")
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 def test_put_update_with_note_only
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 notes = 'Note added by IssuesControllerTest#test_update_with_note_only'
# anonymous user
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 put :update,
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 :id => 1,
:notes => notes
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 assert_redirected_to :action => 'show', :id => '1'
Jean-Philippe Lang
Fixes odd test failures....
r3098 j = Journal.find(:first, :order => 'id DESC')
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 assert_equal notes, j.notes
assert_equal 0, j.details.size
assert_equal User.anonymous, j.user
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 mail = ActionMailer::Base.deliveries.last
assert mail.body.include?(notes)
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 def test_put_update_with_note_and_spent_time
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 @request.session[:user_id] = 2
spent_hours_before = Issue.find(1).spent_hours
Jean-Philippe Lang
Fixed: Updating tickets add a time log with zero hours (#1147)....
r1370 assert_difference('TimeEntry.count') do
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 put :update,
Jean-Philippe Lang
Fixed: Updating tickets add a time log with zero hours (#1147)....
r1370 :id => 1,
:notes => '2.5 hours added',
Jean-Philippe Lang
Fixes some parameters in functional tests....
r3587 :time_entry => { :hours => '2.5', :comments => 'test_put_update_with_note_and_spent_time', :activity_id => TimeEntryActivity.first.id }
Jean-Philippe Lang
Fixed: Updating tickets add a time log with zero hours (#1147)....
r1370 end
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 assert_redirected_to :action => 'show', :id => '1'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 issue = Issue.find(1)
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixes odd test failures....
r3098 j = Journal.find(:first, :order => 'id DESC')
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 assert_equal '2.5 hours added', j.notes
assert_equal 0, j.details.size
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixes Issue#save_issue_with_child_records so that time entry do not get saved if issue save fails....
r3550 t = issue.time_entries.find_by_comments('test_put_update_with_note_and_spent_time')
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 assert_not_nil t
assert_equal 2.5, t.hours
assert_equal spent_hours_before + 2.5, issue.spent_hours
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 def test_put_update_with_attachment_only
Jean-Philippe Lang
File viewer for attached text files....
r1506 set_tmp_attachments_directory
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Fixed a failing assertion in test_post_edit_with_attachment_only that would...
r1920 # Delete all fixtured journals, a race condition can occur causing the wrong
# journal to get fetched in the next find.
Journal.delete_all
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 # anonymous user
Jean-Philippe Lang
Additional functional tests for issue attachment upload....
r6201 assert_difference 'Attachment.count' do
put :update, :id => 1,
:notes => '',
:attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain'), 'description' => 'test file'}}
end
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 assert_redirected_to :action => 'show', :id => '1'
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 j = Issue.find(1).journals.find(:first, :order => 'id DESC')
assert j.notes.blank?
assert_equal 1, j.details.size
assert_equal 'testfile.txt', j.details.first.value
assert_equal User.anonymous, j.user
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Additional functional tests for issue attachment upload....
r6201 attachment = Attachment.first(:order => 'id DESC')
assert_equal Issue.find(1), attachment.container
assert_equal User.anonymous, attachment.author
assert_equal 'testfile.txt', attachment.filename
assert_equal 'text/plain', attachment.content_type
assert_equal 'test file', attachment.description
assert_equal 59, attachment.filesize
assert File.exists?(attachment.diskfile)
assert_equal 59, File.size(attachment.diskfile)
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 mail = ActionMailer::Base.deliveries.last
assert mail.body.include?('testfile.txt')
end
Eric Davis
Added test for when an attachment fails to save....
r3413
def test_put_update_with_attachment_that_fails_to_save
set_tmp_attachments_directory
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Added test for when an attachment fails to save....
r3413 # Delete all fixtured journals, a race condition can occur causing the wrong
# journal to get fetched in the next find.
Journal.delete_all
# Mock out the unsaved attachment
Attachment.any_instance.stubs(:create).returns(Attachment.new)
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Added test for when an attachment fails to save....
r3413 # anonymous user
put :update,
:id => 1,
:notes => '',
:attachments => {'1' => {'file' => uploaded_test_file('testfile.txt', 'text/plain')}}
assert_redirected_to :action => 'show', :id => '1'
assert_equal '1 file(s) could not be saved.', flash[:warning]
end if Object.const_defined?(:Mocha)
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 def test_put_update_with_no_change
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 issue = Issue.find(1)
issue.journals.clear
ActionMailer::Base.deliveries.clear
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 put :update,
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 :id => 1,
:notes => ''
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 assert_redirected_to :action => 'show', :id => '1'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Merged IssuesController change_status and add_note actions....
r1030 issue.reload
assert issue.journals.empty?
# No email should be sent
assert ActionMailer::Base.deliveries.empty?
Jean-Philippe Lang
Added some functional tests (issues)....
r971 end
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 def test_put_update_should_send_a_notification
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 @request.session[:user_id] = 2
ActionMailer::Base.deliveries.clear
issue = Issue.find(1)
old_subject = issue.subject
new_subject = 'Subject modified by IssuesControllerTest#test_post_edit'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 put :update, :id => 1, :issue => {:subject => new_subject,
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 :priority_id => '6',
:category_id => '1' # no change
}
assert_equal 1, ActionMailer::Base.deliveries.size
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Check for a valid time entry if comments have been entered when updating an issue (#7581)....
r4990 def test_put_update_with_invalid_spent_time_hours_only
Jean-Philippe Lang
Fixed: no error is raised when entering invalid hours on the issue update form (#2465)....
r2249 @request.session[:user_id] = 2
notes = 'Note added by IssuesControllerTest#test_post_edit_with_invalid_spent_time'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: no error is raised when entering invalid hours on the issue update form (#2465)....
r2249 assert_no_difference('Journal.count') do
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 put :update,
Jean-Philippe Lang
Fixed: no error is raised when entering invalid hours on the issue update form (#2465)....
r2249 :id => 1,
:notes => notes,
:time_entry => {"comments"=>"", "activity_id"=>"", "hours"=>"2z"}
end
assert_response :success
assert_template 'edit'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Check for a valid time entry if comments have been entered when updating an issue (#7581)....
r4990 assert_error_tag :descendant => {:content => /Activity can't be blank/}
assert_tag :textarea, :attributes => { :name => 'notes' }, :content => notes
Jean-Philippe Lang
Fixed: no error is raised when entering invalid hours on the issue update form (#2465)....
r2249 assert_tag :input, :attributes => { :name => 'time_entry[hours]', :value => "2z" }
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Check for a valid time entry if comments have been entered when updating an issue (#7581)....
r4990 def test_put_update_with_invalid_spent_time_comments_only
@request.session[:user_id] = 2
notes = 'Note added by IssuesControllerTest#test_post_edit_with_invalid_spent_time'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Check for a valid time entry if comments have been entered when updating an issue (#7581)....
r4990 assert_no_difference('Journal.count') do
put :update,
:id => 1,
:notes => notes,
:time_entry => {"comments"=>"this is my comment", "activity_id"=>"", "hours"=>""}
end
assert_response :success
assert_template 'edit'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Check for a valid time entry if comments have been entered when updating an issue (#7581)....
r4990 assert_error_tag :descendant => {:content => /Activity can't be blank/}
assert_error_tag :descendant => {:content => /Hours can't be blank/}
assert_tag :textarea, :attributes => { :name => 'notes' }, :content => notes
assert_tag :input, :attributes => { :name => 'time_entry[comments]', :value => "this is my comment" }
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 def test_put_update_should_allow_fixed_version_to_be_set_to_a_subproject
Jean-Philippe Lang
Version sharing (#465) + optional inclusion of subprojects in the roadmap view (#2666)....
r3009 issue = Issue.find(2)
@request.session[:user_id] = 2
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 put :update,
Jean-Philippe Lang
Version sharing (#465) + optional inclusion of subprojects in the roadmap view (#2666)....
r3009 :id => issue.id,
:issue => {
:fixed_version_id => 4
}
assert_response :redirect
issue.reload
assert_equal 4, issue.fixed_version_id
assert_not_equal issue.project_id, issue.fixed_version.project_id
end
Eric Davis
Cleaned up the IssueController redirects to use the back_url like the other actions....
r3201
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 def test_put_update_should_redirect_back_using_the_back_url_parameter
Eric Davis
Cleaned up the IssueController redirects to use the back_url like the other actions....
r3201 issue = Issue.find(2)
@request.session[:user_id] = 2
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 put :update,
Eric Davis
Cleaned up the IssueController redirects to use the back_url like the other actions....
r3201 :id => issue.id,
:issue => {
:fixed_version_id => 4
},
:back_url => '/issues'
assert_response :redirect
assert_redirected_to '/issues'
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 def test_put_update_should_not_redirect_back_using_the_back_url_parameter_off_the_host
Eric Davis
Cleaned up the IssueController redirects to use the back_url like the other actions....
r3201 issue = Issue.find(2)
@request.session[:user_id] = 2
Eric Davis
Refactor: Start to extract IssuesController#edit into #update (REST)....
r3366 put :update,
Eric Davis
Cleaned up the IssueController redirects to use the back_url like the other actions....
r3201 :id => issue.id,
:issue => {
:fixed_version_id => 4
},
:back_url => 'http://google.com'
assert_response :redirect
assert_redirected_to :controller => 'issues', :action => 'show', :id => issue.id
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: issue bulk edit view broken by r2726 (#3347)....
r2640 def test_get_bulk_edit
@request.session[:user_id] = 2
get :bulk_edit, :ids => [1, 2]
assert_response :success
assert_template 'bulk_edit'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Allow bulk editing of parent issue (#5831)....
r5104 assert_tag :input, :attributes => {:name => 'issue[parent_issue_id]'}
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Allow bulk edit custom fields of any type (#461)....
r3164 # Project specific custom field, date type
field = CustomField.find(9)
assert !field.is_for_all?
assert_equal 'date', field.field_format
Jean-Philippe Lang
Bulk edit refactoring....
r3364 assert_tag :input, :attributes => {:name => 'issue[custom_field_values][9]'}
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: bulk edit doesn't include global custom fields (#4505)....
r3163 # System wide custom field
Jean-Philippe Lang
Allow bulk edit custom fields of any type (#461)....
r3164 assert CustomField.find(1).is_for_all?
Jean-Philippe Lang
Bulk edit refactoring....
r3364 assert_tag :select, :attributes => {:name => 'issue[custom_field_values][1]'}
Jean-Baptiste Barth
Do not show inactive issue priorities where not necessary (#8573)....
r5950
# Be sure we don't display inactive IssuePriorities
assert ! IssuePriority.find(15).active?
assert_no_tag :option, :attributes => {:value => '15'},
:parent => {:tag => 'select', :attributes => {:id => 'issue_priority_id'} }
Jean-Philippe Lang
Fixed: issue bulk edit view broken by r2726 (#3347)....
r2640 end
Jean-Philippe Lang
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once....
r1116
Jean-Baptiste Barth
Added ability to edit issues from different project through contextual menu (#5332)...
r4128 def test_get_bulk_edit_on_different_projects
@request.session[:user_id] = 2
get :bulk_edit, :ids => [1, 2, 6]
assert_response :success
assert_template 'bulk_edit'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Allow bulk editing of parent issue (#5831)....
r5104 # Can not set issues from different projects as children of an issue
assert_no_tag :input, :attributes => {:name => 'issue[parent_issue_id]'}
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Baptiste Barth
Added ability to edit issues from different project through contextual menu (#5332)...
r4128 # Project specific custom field, date type
field = CustomField.find(9)
assert !field.is_for_all?
assert !field.project_ids.include?(Issue.find(6).project_id)
assert_no_tag :input, :attributes => {:name => 'issue[custom_field_values][9]'}
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: empty list for user/version custom fields on bulk edit form (#2096)....
r5234 def test_get_bulk_edit_with_user_custom_field
field = IssueCustomField.create!(:name => 'Tester', :field_format => 'user', :is_for_all => true)
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: empty list for user/version custom fields on bulk edit form (#2096)....
r5234 @request.session[:user_id] = 2
get :bulk_edit, :ids => [1, 2]
assert_response :success
assert_template 'bulk_edit'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: empty list for user/version custom fields on bulk edit form (#2096)....
r5234 assert_tag :select,
:attributes => {:name => "issue[custom_field_values][#{field.id}]"},
:children => {
:only => {:tag => 'option'},
:count => Project.find(1).users.count + 1
}
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: empty list for user/version custom fields on bulk edit form (#2096)....
r5234 def test_get_bulk_edit_with_version_custom_field
field = IssueCustomField.create!(:name => 'Affected version', :field_format => 'version', :is_for_all => true)
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: empty list for user/version custom fields on bulk edit form (#2096)....
r5234 @request.session[:user_id] = 2
get :bulk_edit, :ids => [1, 2]
assert_response :success
assert_template 'bulk_edit'
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: empty list for user/version custom fields on bulk edit form (#2096)....
r5234 assert_tag :select,
:attributes => {:name => "issue[custom_field_values][#{field.id}]"},
:children => {
:only => {:tag => 'option'},
:count => Project.find(1).versions.count + 1
}
end
Jean-Baptiste Barth
Added ability to edit issues from different project through contextual menu (#5332)...
r4128
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 def test_bulk_update
Jean-Philippe Lang
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once....
r1116 @request.session[:user_id] = 2
# update issues priority
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 post :bulk_update, :ids => [1, 2], :notes => 'Bulk editing',
Jean-Philippe Lang
Bulk edit refactoring....
r3364 :issue => {:priority_id => 7,
:assigned_to_id => '',
:custom_field_values => {'2' => ''}}
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once....
r1116 assert_response 302
# check that the issues were updated
assert_equal [7, 7], Issue.find_all_by_id([1, 2]).collect {|i| i.priority.id}
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Ability to bulk edit custom fields of type 'list' (#461)....
r2314 issue = Issue.find(1)
journal = issue.journals.find(:first, :order => 'created_on DESC')
assert_equal '125', issue.custom_value_for(2).value
assert_equal 'Bulk editing', journal.notes
assert_equal 1, journal.details.size
end
Jean-Philippe Lang
Ability to assign issues to groups (#2964)....
r6186 def test_bulk_update_with_group_assignee
group = Group.find(11)
project = Project.find(1)
project.members << Member.new(:principal => group, :roles => [Role.first])
Toshi MARUYAMA
remove trailing white-spaces from test/functional/issues_controller_test.rb....
r6793
Jean-Philippe Lang
Ability to assign issues to groups (#2964)....
r6186 @request.session[:user_id] = 2
# update issues assignee
post :bulk_update, :ids => [1, 2], :notes => 'Bulk editing',
:issue => {:priority_id => '',
:assigned_to_id => group.id,
:custom_field_values => {'2' => ''}}
assert_response 302
assert_equal [group, group], Issue.find_all_by_id([1, 2]).collect {|i| i.assigned_to}
end
Jean-Baptiste Barth
Added ability to edit issues from different project through contextual menu (#5332)...
r4128 def test_bulk_update_on_different_projects
@request.session[:user_id] = 2
# update issues priority
post :bulk_update, :ids => [1, 2, 6], :notes => 'Bulk editing',
:issue => {:priority_id => 7,
:assigned_to_id => '',
:custom_field_values => {'2' => ''}}
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Baptiste Barth
Added ability to edit issues from different project through contextual menu (#5332)...
r4128 assert_response 302
# check that the issues were updated
assert_equal [7, 7, 7], Issue.find([1,2,6]).map(&:priority_id)
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Baptiste Barth
Added ability to edit issues from different project through contextual menu (#5332)...
r4128 issue = Issue.find(1)
journal = issue.journals.find(:first, :order => 'created_on DESC')
assert_equal '125', issue.custom_value_for(2).value
assert_equal 'Bulk editing', journal.notes
assert_equal 1, journal.details.size
end
def test_bulk_update_on_different_projects_without_rights
@request.session[:user_id] = 3
user = User.find(3)
action = { :controller => "issues", :action => "bulk_update" }
assert user.allowed_to?(action, Issue.find(1).project)
assert ! user.allowed_to?(action, Issue.find(6).project)
post :bulk_update, :ids => [1, 6], :notes => 'Bulk should fail',
:issue => {:priority_id => 7,
:assigned_to_id => '',
:custom_field_values => {'2' => ''}}
assert_response 403
assert_not_equal "Bulk should fail", Journal.last.notes
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 def test_bullk_update_should_send_a_notification
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 @request.session[:user_id] = 2
ActionMailer::Base.deliveries.clear
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 post(:bulk_update,
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 {
:ids => [1, 2],
Jean-Philippe Lang
Bulk edit refactoring....
r3364 :notes => 'Bulk editing',
:issue => {
:priority_id => 7,
:assigned_to_id => '',
:custom_field_values => {'2' => ''}
}
Eric Davis
Added observers to watch model objects for mail delivery instead of calling Mailer....
r2548 })
assert_response 302
assert_equal 2, ActionMailer::Base.deliveries.size
end
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 def test_bulk_update_status
Jean-Philippe Lang
Fixed: issue status bulk edit broken by r2726 (#3347)....
r2645 @request.session[:user_id] = 2
# update issues priority
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 post :bulk_update, :ids => [1, 2], :notes => 'Bulk editing status',
Jean-Philippe Lang
Bulk edit refactoring....
r3364 :issue => {:priority_id => '',
:assigned_to_id => '',
:status_id => '5'}
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: issue status bulk edit broken by r2726 (#3347)....
r2645 assert_response 302
issue = Issue.find(1)
assert issue.closed?
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Allow bulk editing of parent issue (#5831)....
r5104 def test_bulk_update_parent_id
@request.session[:user_id] = 2
post :bulk_update, :ids => [1, 3],
:notes => 'Bulk editing parent',
:issue => {:priority_id => '', :assigned_to_id => '', :status_id => '', :parent_issue_id => '2'}
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Allow bulk editing of parent issue (#5831)....
r5104 assert_response 302
parent = Issue.find(2)
assert_equal parent.id, Issue.find(1).parent_id
assert_equal parent.id, Issue.find(3).parent_id
assert_equal [1, 3], parent.children.collect(&:id).sort
end
Jean-Philippe Lang
Fixed: issue status bulk edit broken by r2726 (#3347)....
r2645
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 def test_bulk_update_custom_field
Jean-Philippe Lang
Ability to bulk edit custom fields of type 'list' (#461)....
r2314 @request.session[:user_id] = 2
# update issues priority
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 post :bulk_update, :ids => [1, 2], :notes => 'Bulk editing custom field',
Jean-Philippe Lang
Bulk edit refactoring....
r3364 :issue => {:priority_id => '',
:assigned_to_id => '',
:custom_field_values => {'2' => '777'}}
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Ability to bulk edit custom fields of type 'list' (#461)....
r2314 assert_response 302
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Ability to bulk edit custom fields of type 'list' (#461)....
r2314 issue = Issue.find(1)
journal = issue.journals.find(:first, :order => 'created_on DESC')
assert_equal '777', issue.custom_value_for(2).value
assert_equal 1, journal.details.size
assert_equal '125', journal.details.first.old_value
assert_equal '777', journal.details.first.value
Jean-Philippe Lang
Issue list now supports bulk edit/move/delete (#563, #607). For now, issues from different projects can not be bulk edited/moved/deleted at once....
r1116 end
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 def test_bulk_update_unassign
Jean-Philippe Lang
Fixed: when bulk editing, setting "Assigned to" to "nobody" causes an sql error with Postgresql (#935)....
r1279 assert_not_nil Issue.find(2).assigned_to
@request.session[:user_id] = 2
# unassign issues
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 post :bulk_update, :ids => [1, 2], :notes => 'Bulk unassigning', :issue => {:assigned_to_id => 'none'}
Jean-Philippe Lang
Fixed: when bulk editing, setting "Assigned to" to "nobody" causes an sql error with Postgresql (#935)....
r1279 assert_response 302
# check that the issues were updated
assert_nil Issue.find(2).assigned_to
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 def test_post_bulk_update_should_allow_fixed_version_to_be_set_to_a_subproject
Jean-Philippe Lang
Version sharing (#465) + optional inclusion of subprojects in the roadmap view (#2666)....
r3009 @request.session[:user_id] = 2
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 post :bulk_update, :ids => [1,2], :issue => {:fixed_version_id => 4}
Jean-Philippe Lang
Version sharing (#465) + optional inclusion of subprojects in the roadmap view (#2666)....
r3009
assert_response :redirect
issues = Issue.find([1,2])
issues.each do |issue|
assert_equal 4, issue.fixed_version_id
assert_not_equal issue.project_id, issue.fixed_version.project_id
end
end
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 def test_post_bulk_update_should_redirect_back_using_the_back_url_parameter
Eric Davis
Cleaned up the IssueController redirects to use the back_url like the other actions....
r3201 @request.session[:user_id] = 2
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 post :bulk_update, :ids => [1,2], :back_url => '/issues'
Eric Davis
Cleaned up the IssueController redirects to use the back_url like the other actions....
r3201
assert_response :redirect
assert_redirected_to '/issues'
end
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 def test_post_bulk_update_should_not_redirect_back_using_the_back_url_parameter_off_the_host
Eric Davis
Cleaned up the IssueController redirects to use the back_url like the other actions....
r3201 @request.session[:user_id] = 2
Eric Davis
Refactor: extract #bulk_update method from IssuesController#bulk_edit....
r3923 post :bulk_update, :ids => [1,2], :back_url => 'http://google.com'
Eric Davis
Cleaned up the IssueController redirects to use the back_url like the other actions....
r3201
assert_response :redirect
assert_redirected_to :controller => 'issues', :action => 'index', :project_id => Project.find(1).identifier
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Let the user choose when deleting issues with reported hours (closes #734, #71):...
r1168 def test_destroy_issue_with_no_time_entries
Jean-Philippe Lang
Custom fields (list and boolean) can be used as criteria in time report (#1012)....
r1325 assert_nil TimeEntry.find_by_issue_id(2)
Jean-Philippe Lang
Added some functional tests (issues)....
r971 @request.session[:user_id] = 2
Jean-Philippe Lang
Custom fields (list and boolean) can be used as criteria in time report (#1012)....
r1325 post :destroy, :id => 2
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 assert_redirected_to :action => 'index', :project_id => 'ecookbook'
Jean-Philippe Lang
Custom fields (list and boolean) can be used as criteria in time report (#1012)....
r1325 assert_nil Issue.find_by_id(2)
Jean-Philippe Lang
Added some functional tests (issues)....
r971 end
Jean-Philippe Lang
Let the user choose when deleting issues with reported hours (closes #734, #71):...
r1168 def test_destroy_issues_with_time_entries
@request.session[:user_id] = 2
post :destroy, :ids => [1, 3]
assert_response :success
assert_template 'destroy'
assert_not_nil assigns(:hours)
assert Issue.find_by_id(1) && Issue.find_by_id(3)
end
def test_destroy_issues_and_destroy_time_entries
@request.session[:user_id] = 2
post :destroy, :ids => [1, 3], :todo => 'destroy'
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 assert_redirected_to :action => 'index', :project_id => 'ecookbook'
Jean-Philippe Lang
Let the user choose when deleting issues with reported hours (closes #734, #71):...
r1168 assert !(Issue.find_by_id(1) || Issue.find_by_id(3))
assert_nil TimeEntry.find_by_id([1, 2])
end
def test_destroy_issues_and_assign_time_entries_to_project
@request.session[:user_id] = 2
post :destroy, :ids => [1, 3], :todo => 'nullify'
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 assert_redirected_to :action => 'index', :project_id => 'ecookbook'
Jean-Philippe Lang
Let the user choose when deleting issues with reported hours (closes #734, #71):...
r1168 assert !(Issue.find_by_id(1) || Issue.find_by_id(3))
assert_nil TimeEntry.find(1).issue_id
assert_nil TimeEntry.find(2).issue_id
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Let the user choose when deleting issues with reported hours (closes #734, #71):...
r1168 def test_destroy_issues_and_reassign_time_entries_to_another_issue
@request.session[:user_id] = 2
post :destroy, :ids => [1, 3], :todo => 'reassign', :reassign_to_id => 2
Eric Davis
Converted routing and urls to follow the Rails REST convention....
r2315 assert_redirected_to :action => 'index', :project_id => 'ecookbook'
Jean-Philippe Lang
Let the user choose when deleting issues with reported hours (closes #734, #71):...
r1168 assert !(Issue.find_by_id(1) || Issue.find_by_id(3))
assert_equal 2, TimeEntry.find(1).issue_id
assert_equal 2, TimeEntry.find(2).issue_id
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Baptiste Barth
Added ability to delete issues from different projects through contextual menu (#5332)...
r4122 def test_destroy_issues_from_different_projects
@request.session[:user_id] = 2
post :destroy, :ids => [1, 2, 6], :todo => 'destroy'
assert_redirected_to :controller => 'issues', :action => 'index'
assert !(Issue.find_by_id(1) || Issue.find_by_id(2) || Issue.find_by_id(6))
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: bulk destroying parent and child issues raises a stale object error (#7920)....
r5163 def test_destroy_parent_and_child_issues
parent = Issue.generate!(:project_id => 1, :tracker_id => 1)
child = Issue.generate!(:project_id => 1, :tracker_id => 1, :parent_issue_id => parent.id)
assert child.is_descendant_of?(parent.reload)
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Fixed: bulk destroying parent and child issues raises a stale object error (#7920)....
r5163 @request.session[:user_id] = 2
assert_difference 'Issue.count', -2 do
post :destroy, :ids => [parent.id, child.id], :todo => 'destroy'
end
assert_response 302
end
Toshi MARUYAMA
remove trailing white-spaces from functional IssuesController test....
r5677
Jean-Philippe Lang
Contextual quick search (#3263)....
r2829 def test_default_search_scope
get :index
assert_tag :div, :attributes => {:id => 'quick-search'},
:child => {:tag => 'form',
:child => {:tag => 'input', :attributes => {:name => 'issues', :type => 'hidden', :value => '1'}}}
end
Jean-Philippe Lang
ProjectsController#list_issues, #export_issues_csv and #export_issues_pdf merged into IssuesController#index...
r874 end