@@ -80,6 +80,7 class Issue < ActiveRecord::Base | |||||
80 | issue = arg.is_a?(Issue) ? arg : Issue.find(arg) |
|
80 | issue = arg.is_a?(Issue) ? arg : Issue.find(arg) | |
81 | self.attributes = issue.attributes.dup.except("id", "created_on", "updated_on") |
|
81 | self.attributes = issue.attributes.dup.except("id", "created_on", "updated_on") | |
82 | self.custom_values = issue.custom_values.collect {|v| v.clone} |
|
82 | self.custom_values = issue.custom_values.collect {|v| v.clone} | |
|
83 | self.status = issue.status | |||
83 | self |
|
84 | self | |
84 | end |
|
85 | end | |
85 |
|
86 |
@@ -179,6 +179,16 class IssueTest < ActiveSupport::TestCase | |||||
179 | assert_equal orig.custom_values.first.value, issue.custom_values.first.value |
|
179 | assert_equal orig.custom_values.first.value, issue.custom_values.first.value | |
180 | end |
|
180 | end | |
181 |
|
181 | |||
|
182 | def test_copy_should_copy_status | |||
|
183 | orig = Issue.find(8) | |||
|
184 | assert orig.status != IssueStatus.default | |||
|
185 | ||||
|
186 | issue = Issue.new.copy_from(orig) | |||
|
187 | assert issue.save | |||
|
188 | issue.reload | |||
|
189 | assert_equal orig.status, issue.status | |||
|
190 | end | |||
|
191 | ||||
182 | def test_should_close_duplicates |
|
192 | def test_should_close_duplicates | |
183 | # Create 3 issues |
|
193 | # Create 3 issues | |
184 | issue1 = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 1, :status_id => 1, :priority => IssuePriority.all.first, :subject => 'Duplicates test', :description => 'Duplicates test') |
|
194 | issue1 = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 1, :status_id => 1, :priority => IssuePriority.all.first, :subject => 'Duplicates test', :description => 'Duplicates test') |
@@ -406,6 +406,11 class ProjectTest < ActiveSupport::TestCase | |||||
406 | end |
|
406 | end | |
407 |
|
407 | |||
408 | should "copy issues" do |
|
408 | should "copy issues" do | |
|
409 | @source_project.issues << Issue.generate!(:status_id => 5, | |||
|
410 | :subject => "copy issue status", | |||
|
411 | :tracker_id => 1, | |||
|
412 | :assigned_to_id => 2, | |||
|
413 | :project_id => @source_project.id) | |||
409 | assert @project.valid? |
|
414 | assert @project.valid? | |
410 | assert @project.issues.empty? |
|
415 | assert @project.issues.empty? | |
411 | assert @project.copy(@source_project) |
|
416 | assert @project.copy(@source_project) | |
@@ -416,6 +421,11 class ProjectTest < ActiveSupport::TestCase | |||||
416 | assert ! issue.assigned_to.blank? |
|
421 | assert ! issue.assigned_to.blank? | |
417 | assert_equal @project, issue.project |
|
422 | assert_equal @project, issue.project | |
418 | end |
|
423 | end | |
|
424 | ||||
|
425 | copied_issue = @project.issues.first(:conditions => {:subject => "copy issue status"}) | |||
|
426 | assert copied_issue | |||
|
427 | assert copied_issue.status | |||
|
428 | assert_equal "Closed", copied_issue.status.name | |||
419 | end |
|
429 | end | |
420 |
|
430 | |||
421 | should "change the new issues to use the copied version" do |
|
431 | should "change the new issues to use the copied version" do |
General Comments 0
You need to be logged in to leave comments.
Login now