diff options
Diffstat (limited to 'spec/features/merge_request/user_cherry_picks_spec.rb')
-rw-r--r-- | spec/features/merge_request/user_cherry_picks_spec.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/spec/features/merge_request/user_cherry_picks_spec.rb b/spec/features/merge_request/user_cherry_picks_spec.rb new file mode 100644 index 00000000000..494096b21c0 --- /dev/null +++ b/spec/features/merge_request/user_cherry_picks_spec.rb @@ -0,0 +1,45 @@ +require 'rails_helper' + +describe 'Merge request > User cherry-picks', :js do + let(:group) { create(:group) } + let(:project) { create(:project, :repository, namespace: group) } + let(:user) { project.creator } + let(:merge_request) { create(:merge_request_with_diffs, source_project: project, author: user) } + + before do + project.add_master(user) + sign_in(user) + end + + context 'Viewing a merged merge request' do + before do + service = MergeRequests::MergeService.new(project, user) + + perform_enqueued_jobs do + service.execute(merge_request) + end + end + + # Fast-forward merge, or merged before GitLab 8.5. + context 'Without a merge commit' do + before do + merge_request.merge_commit_sha = nil + merge_request.save + end + + it 'does not show a Cherry-pick button' do + visit project_merge_request_path(project, merge_request) + + expect(page).not_to have_link 'Cherry-pick' + end + end + + context 'With a merge commit' do + it 'shows a Cherry-pick button' do + visit project_merge_request_path(project, merge_request) + + expect(page).to have_link 'Cherry-pick' + end + end + end +end |