Merged r16118 to r16122 (#24693, #24718, #24722).

git-svn-id: http://svn.redmine.org/redmine/branches/3.3-stable@16132 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2017-01-04 20:47:29 +00:00
parent 82a67f4ebe
commit c4b1ab644e
53 changed files with 165 additions and 7 deletions

View File

@@ -4687,7 +4687,7 @@ class IssuesControllerTest < ActionController::TestCase
assert_response :success
end
def test_destroy_issue_with_no_time_entries
def test_destroy_issue_with_no_time_entries_should_delete_the_issues
assert_nil TimeEntry.find_by_issue_id(2)
@request.session[:user_id] = 2
@@ -4698,7 +4698,7 @@ class IssuesControllerTest < ActionController::TestCase
assert_nil Issue.find_by_id(2)
end
def test_destroy_issues_with_time_entries
def test_destroy_issues_with_time_entries_should_show_the_reassign_form
@request.session[:user_id] = 2
assert_no_difference 'Issue.count' do
@@ -4714,6 +4714,20 @@ class IssuesControllerTest < ActionController::TestCase
end
end
def test_destroy_issues_with_time_entries_should_show_hours_on_issues_and_descendants
parent = Issue.generate_with_child!
TimeEntry.generate!(:issue => parent)
TimeEntry.generate!(:issue => parent.children.first)
leaf = Issue.generate!
TimeEntry.generate!(:issue => leaf)
@request.session[:user_id] = 2
delete :destroy, :ids => [parent.id, leaf.id]
assert_response :success
assert_select 'p', :text => /3\.00 hours were reported/
end
def test_destroy_issues_and_destroy_time_entries
@request.session[:user_id] = 2
@@ -4755,6 +4769,24 @@ class IssuesControllerTest < ActionController::TestCase
assert_equal 2, TimeEntry.find(2).issue_id
end
def test_destroy_issues_with_time_entries_should_reassign_time_entries_of_issues_and_descendants
parent = Issue.generate_with_child!
TimeEntry.generate!(:issue => parent)
TimeEntry.generate!(:issue => parent.children.first)
leaf = Issue.generate!
TimeEntry.generate!(:issue => leaf)
target = Issue.generate!
@request.session[:user_id] = 2
assert_difference 'Issue.count', -3 do
assert_no_difference 'TimeEntry.count' do
delete :destroy, :ids => [parent.id, leaf.id], :todo => 'reassign', :reassign_to_id => target.id
assert_response 302
end
end
assert_equal 3, target.time_entries.count
end
def test_destroy_issues_and_reassign_time_entries_to_an_invalid_issue_should_fail
@request.session[:user_id] = 2
@@ -4768,6 +4800,18 @@ class IssuesControllerTest < ActionController::TestCase
assert_template 'destroy'
end
def test_destroy_issues_and_reassign_time_entries_to_an_issue_to_delete_should_fail
@request.session[:user_id] = 2
assert_no_difference 'Issue.count' do
assert_no_difference 'TimeEntry.count' do
delete :destroy, :ids => [1, 3], :todo => 'reassign', :reassign_to_id => 3
end
end
assert_response :success
assert_select '#flash_error', :text => I18n.t(:error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted)
end
def test_destroy_issues_from_different_projects
@request.session[:user_id] = 2