Ensure "Remove Source Branch" button is not shown when branch is being deleted. #3583
This commit is contained in:
parent
238ca3e472
commit
aa1ba00936
7 changed files with 62 additions and 6 deletions
|
@ -9,6 +9,7 @@ v 8.3.0 (unreleased)
|
|||
- Don't show project fork event as "imported"
|
||||
- Add API endpoint to fetch merge request commits list
|
||||
- Expose events API with comment information and author info
|
||||
- Fix: Ensure "Remove Source Branch" button is not shown when branch is being deleted. #3583
|
||||
|
||||
v 8.2.2
|
||||
- Fix 404 in redirection after removing a project (Stan Hu)
|
||||
|
|
|
@ -10,17 +10,20 @@ class @MergeRequestWidget
|
|||
constructor: (@opts) ->
|
||||
modal = $('#modal_merge_info').modal(show: false)
|
||||
|
||||
mergeInProgress: ->
|
||||
mergeInProgress: (deleteSourceBranch = false)->
|
||||
$.ajax
|
||||
type: 'GET'
|
||||
url: $('.merge-request').data('url')
|
||||
success: (data) =>
|
||||
if data.state == "merged"
|
||||
location.reload()
|
||||
urlSuffix = if deleteSourceBranch then '?delete_source=true' else ''
|
||||
|
||||
window.location.href = window.location.href + urlSuffix
|
||||
else if data.merge_error
|
||||
$('.mr-widget-body').html("<h4>" + data.merge_error + "</h4>")
|
||||
else
|
||||
setTimeout(merge_request_widget.mergeInProgress, 2000)
|
||||
callback = -> merge_request_widget.mergeInProgress(deleteSourceBranch)
|
||||
setTimeout(callback, 2000)
|
||||
dataType: 'json'
|
||||
|
||||
getMergeStatus: ->
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#
|
||||
# For example instead of this:
|
||||
#
|
||||
# namespace_project_merge_request_path(merge_request.project.namespace, merge_request.projects, merge_request)
|
||||
# namespace_project_merge_request_path(merge_request.project.namespace, merge_request.project, merge_request)
|
||||
#
|
||||
# We can simply use shortcut:
|
||||
#
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
- if @status
|
||||
:plain
|
||||
merge_request_widget.mergeInProgress();
|
||||
merge_request_widget.mergeInProgress(#{params[:should_remove_source_branch] == '1'});
|
||||
- else
|
||||
:plain
|
||||
$('.mr-widget-body').html("#{escape_javascript(render('projects/merge_requests/widget/open/reload'))}");
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
by #{link_to_member(@project, @merge_request.merge_event.author, avatar: true)}
|
||||
#{time_ago_with_tooltip(@merge_request.merge_event.created_at)}
|
||||
%div
|
||||
- if !@merge_request.source_branch_exists?
|
||||
- if !@merge_request.source_branch_exists? || (params[:delete_source] == 'true')
|
||||
= succeed '.' do
|
||||
The changes were merged into
|
||||
= link_to namespace_project_commits_path(@project.namespace, @project, @merge_request.target_branch), class: "label-branch" do
|
||||
|
|
17
features/project/merge_requests/accept.feature
Normal file
17
features/project/merge_requests/accept.feature
Normal file
|
@ -0,0 +1,17 @@
|
|||
Feature: Project Merge Requests Acceptance
|
||||
Background:
|
||||
Given There is an open Merge Request
|
||||
And I am signed in as a developer of the project
|
||||
|
||||
@javascript
|
||||
Scenario: Accepting the Merge Request and removing the source branch
|
||||
Given I am on the Merge Request detail page
|
||||
When I click on "Remove source branch" option
|
||||
And I click on Accept Merge Request
|
||||
Then I should not see the Remove Source Branch button
|
||||
|
||||
@javascript
|
||||
Scenario: Accepting the Merge Request without removing the source branch
|
||||
Given I am on the Merge Request detail page
|
||||
When I click on Accept Merge Request
|
||||
Then I should see the Remove Source Branch button
|
35
features/steps/project/merge_requests/acceptance.rb
Normal file
35
features/steps/project/merge_requests/acceptance.rb
Normal file
|
@ -0,0 +1,35 @@
|
|||
class Spinach::Features::ProjectMergeRequestsAcceptance < Spinach::FeatureSteps
|
||||
include LoginHelpers
|
||||
include GitlabRoutingHelper
|
||||
|
||||
step 'I am on the Merge Request detail page' do
|
||||
visit merge_request_path(@merge_request)
|
||||
end
|
||||
|
||||
step 'I click on "Remove source branch" option' do
|
||||
check('Remove source branch')
|
||||
end
|
||||
|
||||
step 'I click on Accept Merge Request' do
|
||||
click_button('Accept Merge Request')
|
||||
end
|
||||
|
||||
step 'I should see the Remove Source Branch button' do
|
||||
expect(page).to have_link('Remove Source Branch')
|
||||
end
|
||||
|
||||
step 'I should not see the Remove Source Branch button' do
|
||||
expect(page).not_to have_link('Remove Source Branch')
|
||||
end
|
||||
|
||||
step 'There is an open Merge Request' do
|
||||
@user = create(:user)
|
||||
@project = create(:project, :public)
|
||||
@project_member = create(:project_member, user: @user, project: @project, access_level: ProjectMember::DEVELOPER)
|
||||
@merge_request = create(:merge_request, :with_diffs, :simple, source_project: @project)
|
||||
end
|
||||
|
||||
step 'I am signed in as a developer of the project' do
|
||||
login_as(@user)
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue