summaryrefslogtreecommitdiff
path: root/spec/lib
diff options
context:
space:
mode:
authorJan Provaznik <jprovaznik@gitlab.com>2017-12-11 10:14:11 +0100
committerJan Provaznik <jprovaznik@gitlab.com>2017-12-11 11:46:21 +0100
commitb39b5524f28f550420b9833f5dbc4a0c300a0dfb (patch)
tree9005cb4c01231c2d69adeece69bfa0e277aba7e9 /spec/lib
parent806a68a81f1baeed07c146b1b5d9eb77796c46ba (diff)
downloadgitlab-ce-b39b5524f28f550420b9833f5dbc4a0c300a0dfb.tar.gz
Use message body for merge request descriptionjprovazn-description
When a merge request is created from email, use message body as merge request description. If message body is empty then merge request description is still created from the source branch commit (if there is only single commit in the merge request). If message body is empty and there are multiple commits in the source branch, then merge request description is left empty. Closes #40968
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb b/spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb
index 51ce3116880..dc1a93367a4 100644
--- a/spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb
+++ b/spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb
@@ -49,6 +49,7 @@ describe Gitlab::Email::Handler::CreateMergeRequestHandler do
expect(merge_request.author).to eq(user)
expect(merge_request.source_branch).to eq('feature')
expect(merge_request.title).to eq('Feature added')
+ expect(merge_request.description).to eq('Merge request description')
expect(merge_request.target_branch).to eq(project.default_branch)
end
end
@@ -79,6 +80,17 @@ describe Gitlab::Email::Handler::CreateMergeRequestHandler do
expect { receiver.execute }.to raise_error(Gitlab::Email::InvalidMergeRequestError)
end
end
+
+ context "when the message body is blank" do
+ let(:email_raw) { fixture_file("emails/valid_new_merge_request_no_description.eml") }
+
+ it "creates a new merge request with description set from the last commit" do
+ expect { receiver.execute }.to change { project.merge_requests.count }.by(1)
+ merge_request = project.merge_requests.last
+
+ expect(merge_request.description).to eq('Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>')
+ end
+ end
end
end
end