Adds ability to bulk copy issues (#1847).

This can be done by checking the 'Copy' checkbox on the 'Move' form.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2313 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2009-01-25 13:12:56 +00:00
parent 41f3bae917
commit 1ad2551559
5 changed files with 62 additions and 16 deletions
+10
View File
@@ -672,6 +672,16 @@ class IssuesControllerTest < Test::Unit::TestCase
assert_equal 2, Issue.find(1).tracker_id
assert_equal 2, Issue.find(2).tracker_id
end
def test_bulk_copy_to_another_project
@request.session[:user_id] = 1
assert_difference 'Issue.count', 2 do
assert_no_difference 'Project.find(1).issues.count' do
post :move, :ids => [1, 2], :new_project_id => 2, :copy_options => {:copy => '1'}
end
end
assert_redirected_to 'projects/ecookbook/issues'
end
def test_context_menu_one_issue
@request.session[:user_id] = 2
+24
View File
@@ -191,6 +191,30 @@ class IssueTest < Test::Unit::TestCase
assert_nil issue.category_id
end
def test_copy_to_the_same_project
issue = Issue.find(1)
copy = nil
assert_difference 'Issue.count' do
copy = issue.move_to(issue.project, nil, :copy => true)
end
assert_kind_of Issue, copy
assert_equal issue.project, copy.project
assert_equal "125", copy.custom_value_for(2).value
end
def test_copy_to_another_project_and_tracker
issue = Issue.find(1)
copy = nil
assert_difference 'Issue.count' do
copy = issue.move_to(Project.find(3), Tracker.find(2), :copy => true)
end
assert_kind_of Issue, copy
assert_equal Project.find(3), copy.project
assert_equal Tracker.find(2), copy.tracker
# Custom field #2 is not associated with target tracker
assert_nil copy.custom_value_for(2)
end
def test_issue_destroy
Issue.find(1).destroy
assert_nil Issue.find_by_id(1)