diff options
author | Sean McGivern <sean@gitlab.com> | 2016-04-28 11:36:37 +0100 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2016-05-06 12:24:37 +0100 |
commit | e76f339dcd83799a63d206007750077b7af753f4 (patch) | |
tree | 46fcba5bfef7ea7f08d3481176fe2ddbbd3defe5 /spec/services/merge_requests | |
parent | 13d4d3c8b0df93dd51228db79265179cb978ff29 (diff) | |
download | gitlab-ce-e76f339dcd83799a63d206007750077b7af753f4.tar.gz |
Auto-set title for branches created from issues
If a branch starts with an issue's IID, followed by a hyphen, the
description will be updated to say that is closes the issue. This also
updates the title of the merge request to 'Resolves "$issue-title"', as
long as:
- There is more than one commit in the merge request (if there is only
one commit, the commit's title will be used as before)
- The issue's IID is valid for the project
Diffstat (limited to 'spec/services/merge_requests')
-rw-r--r-- | spec/services/merge_requests/build_service_spec.rb | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/spec/services/merge_requests/build_service_spec.rb b/spec/services/merge_requests/build_service_spec.rb index 7ad13478dd4..f8b768a1a9b 100644 --- a/spec/services/merge_requests/build_service_spec.rb +++ b/spec/services/merge_requests/build_service_spec.rb @@ -5,7 +5,7 @@ describe MergeRequests::BuildService, services: true do let(:project) { create(:project) } let(:user) { create(:user) } - let(:issue) { create(:issue, project: project) } + let(:issue) { create(:issue, project: project, title: 'A bug') } let(:description) { nil } let(:source_branch) { 'feature-branch' } let(:target_branch) { 'master' } @@ -141,6 +141,32 @@ describe MergeRequests::BuildService, services: true do expect(merge_request.description).to eq(description) end end + + context 'branch starts with GitLab issue IID followed by a hyphen' do + let(:source_branch) { "#{issue.iid}-fix-issue" } + + it 'sets the title to: Resolves "$issue-title"' do + expect(merge_request.title).to eq("Resolve \"#{issue.title}\"") + end + + context 'issue does not exist' do + let(:source_branch) { "#{issue.iid.succ}-fix-issue" } + + it 'uses the title of the branch as the merge request title' do + expect(merge_request.title).to eq("#{issue.iid.succ} fix issue") + end + end + end + + context 'branch starts with external issue IID followed by a hyphen' do + let(:source_branch) { '12345-fix-issue' } + + before { allow(project).to receive(:default_issues_tracker?).and_return(false) } + + it 'sets the title to: Resolves External Issue $issue-iid' do + expect(merge_request.title).to eq('Resolve External Issue 12345') + end + end end end end |