summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Andrew <mail@timothyandrew.net>2016-10-25 11:03:49 +0530
committerTimothy Andrew <mail@timothyandrew.net>2016-10-25 11:03:49 +0530
commitfed3f718d8e2223305fb1c0ab4e72d514f50a8f6 (patch)
tree3a0dfb5acb0d34c0ddb53ecb3fd96b076e4ac479
parent132e3f547194de1923db258d4022b7f473f176e0 (diff)
downloadgitlab-ce-23662-issue-move-user-reference-exception.tar.gz
1. Changes in 8.13 require `Referable`s that don't have a project reference to accept two arguments - `from_project` and `target_project`. 2. `User#to_reference` was not changed to accept the `target_project` (even though it is not used). Moving an issue containing a user reference would throw a "invalid number of arguments" exception. Fixes #23662
-rw-r--r--app/models/user.rb2
-rw-r--r--spec/services/issues/move_service_spec.rb14
2 files changed, 13 insertions, 3 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index f367f4616fb..9181db40eb4 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -309,7 +309,7 @@ class User < ActiveRecord::Base
username
end
- def to_reference(_from_project = nil)
+ def to_reference(_from_project = nil, _target_project = nil)
"#{self.class.reference_prefix}#{username}"
end
diff --git a/spec/services/issues/move_service_spec.rb b/spec/services/issues/move_service_spec.rb
index 93bf0f64963..34ec13c43c6 100644
--- a/spec/services/issues/move_service_spec.rb
+++ b/spec/services/issues/move_service_spec.rb
@@ -207,10 +207,10 @@ describe Issues::MoveService, services: true do
end
end
- describe 'rewritting references' do
+ describe 'rewriting references' do
include_context 'issue move executed'
- context 'issue reference' do
+ context 'issue references' do
let(:another_issue) { create(:issue, project: old_project) }
let(:description) { "Some description #{another_issue.to_reference}" }
@@ -219,6 +219,16 @@ describe Issues::MoveService, services: true do
.to eq "Some description #{old_project.to_reference}#{another_issue.to_reference}"
end
end
+
+ context "user references" do
+ let(:another_issue) { create(:issue, project: old_project) }
+ let(:description) { "Some description #{user.to_reference}" }
+
+ it "doesn't throw any errors for issues containing user references" do
+ expect(new_issue.description)
+ .to eq "Some description #{user.to_reference}"
+ end
+ end
end
context 'moving to same project' do