Skip to content
Snippets Groups Projects
Commit 845b2f1a authored by micael.bergeron's avatar micael.bergeron
Browse files

add spec

parent 5a2acfe0
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -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
Loading
Loading
Loading
Loading
@@ -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
Loading
Loading
@@ -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
Loading
Loading
@@ -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
Loading
Loading
@@ -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
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment