diff options
author | Jan Provaznik <jprovaznik@gitlab.com> | 2017-12-11 10:14:11 +0100 |
---|---|---|
committer | Jan Provaznik <jprovaznik@gitlab.com> | 2017-12-11 11:46:21 +0100 |
commit | b39b5524f28f550420b9833f5dbc4a0c300a0dfb (patch) | |
tree | 9005cb4c01231c2d69adeece69bfa0e277aba7e9 /spec/lib/gitlab/email | |
parent | 806a68a81f1baeed07c146b1b5d9eb77796c46ba (diff) | |
download | gitlab-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/gitlab/email')
-rw-r--r-- | spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb | 12 |
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 |