add spec
This commit is contained in:
parent
5a2acfe036
commit
845b2f1abe
2 changed files with 22 additions and 7 deletions
|
@ -73,6 +73,12 @@ FactoryGirl.define do
|
|||
merge_user author
|
||||
end
|
||||
|
||||
trait :remove_source_branch do
|
||||
merge_params do
|
||||
{ 'force_remove_source_branch' => '1' }
|
||||
end
|
||||
end
|
||||
|
||||
after(:build) do |merge_request|
|
||||
target_project = merge_request.target_project
|
||||
source_project = merge_request.source_project
|
||||
|
|
|
@ -185,7 +185,7 @@ describe MergeRequests::MergeService do
|
|||
context 'source branch removal' do
|
||||
context 'when the source branch is protected' do
|
||||
let(:service) do
|
||||
described_class.new(project, user, should_remove_source_branch: '1')
|
||||
described_class.new(project, user, 'should_remove_source_branch' => true)
|
||||
end
|
||||
|
||||
before do
|
||||
|
@ -200,7 +200,7 @@ describe MergeRequests::MergeService do
|
|||
|
||||
context 'when the source branch is the default branch' do
|
||||
let(:service) do
|
||||
described_class.new(project, user, should_remove_source_branch: '1')
|
||||
described_class.new(project, user, 'should_remove_source_branch' => true)
|
||||
end
|
||||
|
||||
before do
|
||||
|
@ -215,10 +215,10 @@ describe MergeRequests::MergeService do
|
|||
|
||||
context 'when the source branch can be removed' do
|
||||
context 'when MR author set the source branch to be removed' do
|
||||
let(:service) do
|
||||
merge_request.merge_params['force_remove_source_branch'] = '1'
|
||||
merge_request.save!
|
||||
described_class.new(project, user, commit_message: 'Awesome message')
|
||||
let(:service) { described_class.new(project, user, commit_message: 'Awesome message') }
|
||||
|
||||
before do
|
||||
merge_request.update_attribute(:merge_params, { 'force_remove_source_branch' => '1' })
|
||||
end
|
||||
|
||||
it 'removes the source branch using the author user' do
|
||||
|
@ -227,11 +227,20 @@ describe MergeRequests::MergeService do
|
|||
.and_call_original
|
||||
service.execute(merge_request)
|
||||
end
|
||||
|
||||
context 'when the merger set the source branch not to be removed' do
|
||||
let(:service) { described_class.new(project, user, commit_message: 'Awesome message', 'should_remove_source_branch' => false) }
|
||||
|
||||
it 'does not delete the source branch' do
|
||||
expect(DeleteBranchService).not_to receive(:new)
|
||||
service.execute(merge_request)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when MR merger set the source branch to be removed' do
|
||||
let(:service) do
|
||||
described_class.new(project, user, commit_message: 'Awesome message', should_remove_source_branch: '1')
|
||||
described_class.new(project, user, commit_message: 'Awesome message', 'should_remove_source_branch' => true)
|
||||
end
|
||||
|
||||
it 'removes the source branch using the current user' do
|
||||
|
|
Loading…
Reference in a new issue