##// END OF EJS Templates
Copy issue status on project copy (#3877)....
Jean-Philippe Lang -
r2961:3fc655904f90
parent child
Show More
@@ -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