Checks if deleting forked project closed all open merge requests
This commit is contained in:
parent
8c77a1fb25
commit
09cded29d8
|
@ -429,7 +429,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController
|
|||
|
||||
def validates_merge_request
|
||||
# If source project was removed (Ex. mr from fork to origin)
|
||||
return invalid_mr unless @merge_request.source_project
|
||||
# return invalid_mr unless @merge_request.source_project
|
||||
|
||||
# Show git not found page
|
||||
# if there is no saved commits between source & target branch
|
||||
|
@ -438,7 +438,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController
|
|||
return invalid_mr unless @merge_request.target_branch_exists?
|
||||
|
||||
# or if source branch doesn't exist
|
||||
return invalid_mr unless @merge_request.source_branch_exists?
|
||||
# return invalid_mr unless @merge_request.source_branch_exists?
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -313,7 +313,7 @@ class MergeRequest < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def closed_without_fork?
|
||||
closed? && forked_source_project_missing?
|
||||
closed? && (forked_source_project_missing? || !source_project)
|
||||
end
|
||||
|
||||
def forked_source_project_missing?
|
||||
|
|
|
@ -192,10 +192,12 @@ describe ProjectsController do
|
|||
end
|
||||
|
||||
it "closes all related merge requests" do
|
||||
fork_project.destroy
|
||||
project.merge_requests << merge_request
|
||||
sign_in(admin)
|
||||
|
||||
expect(fork_project.destroyed?).to be_truthy
|
||||
expect(merge_request.state).to eq('closed')
|
||||
delete :destroy, namespace_id: fork_project.namespace.path, id: fork_project.path
|
||||
|
||||
expect(merge_request.reload.state).to eq('closed')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue