diff options
author | Z.J. van de Weg <zegerjan@gitlab.com> | 2016-06-01 18:33:49 +0200 |
---|---|---|
committer | Z.J. van de Weg <zegerjan@gitlab.com> | 2016-06-01 18:33:49 +0200 |
commit | fab695461afbc4d03fbbf8cfbf9c5d90760ce752 (patch) | |
tree | 617a6b3223b2dce23993f37516dce0bc3bce4470 | |
parent | 91a7b9333b660abc866e52e1a614151cb529413d (diff) | |
download | gitlab-ce-fab695461afbc4d03fbbf8cfbf9c5d90760ce752.tar.gz |
Move awardables too when issue is moved
-rw-r--r-- | app/services/issues/move_service.rb | 9 | ||||
-rw-r--r-- | spec/services/issues/move_service_spec.rb | 5 |
2 files changed, 14 insertions, 0 deletions
diff --git a/app/services/issues/move_service.rb b/app/services/issues/move_service.rb index e61628086f0..138730ca355 100644 --- a/app/services/issues/move_service.rb +++ b/app/services/issues/move_service.rb @@ -24,6 +24,7 @@ module Issues @new_issue = create_new_issue rewrite_notes + rewrite_award_emoji add_note_moved_from # Old issue tasks @@ -72,6 +73,14 @@ module Issues end end + def rewrite_award_emoji + @old_issue.award_emoji.each do |award| + new_award = award.dup + new_award.awardable = @new_issue + new_award.save + end + end + def rewrite_content(content) return unless content diff --git a/spec/services/issues/move_service_spec.rb b/spec/services/issues/move_service_spec.rb index 95fe6c2400a..93bf0f64963 100644 --- a/spec/services/issues/move_service_spec.rb +++ b/spec/services/issues/move_service_spec.rb @@ -39,6 +39,7 @@ describe Issues::MoveService, services: true do let!(:milestone2) do create(:milestone, project_id: new_project.id, title: 'v9.0') end + let!(:award_emoji) { create(:award_emoji, awardable: old_issue) } let!(:new_issue) { move_service.execute(old_issue, new_project) } end @@ -115,6 +116,10 @@ describe Issues::MoveService, services: true do it 'preserves create time' do expect(old_issue.created_at).to eq new_issue.created_at end + + it 'moves the award emoji' do + expect(old_issue.award_emoji.first.name).to eq new_issue.reload.award_emoji.first.name + end end context 'issue with notes' do |