Commit e552e1fc authored by Grzegorz Bizon's avatar Grzegorz Bizon

Extend tests for delete branch service

parent 2a53d6c2
...@@ -2,27 +2,40 @@ require 'spec_helper' ...@@ -2,27 +2,40 @@ require 'spec_helper'
describe DeleteBranchService, services: true do describe DeleteBranchService, services: true do
let(:project) { create(:project) } let(:project) { create(:project) }
let(:repository) { project.repository }
let(:user) { create(:user) } let(:user) { create(:user) }
let(:service) { described_class.new(project, user) } let(:service) { described_class.new(project, user) }
describe '#execute' do describe '#execute' do
let(:result) { service.execute('feature') }
context 'when user has access to push to repository' do context 'when user has access to push to repository' do
before do before do
project.team << [user, :developer] project.team << [user, :developer]
end end
it 'removes the branch' do it 'removes the branch' do
expect(branch_exists?('feature')).to be true
result = service.execute('feature')
expect(result[:status]).to eq :success expect(result[:status]).to eq :success
expect(branch_exists?('feature')).to be false
end end
end end
context 'when user does not have access to push to repository' do context 'when user does not have access to push to repository' do
it 'does not remove branch' do it 'does not remove branch' do
expect(branch_exists?('feature')).to be true
result = service.execute('feature')
expect(result[:status]).to eq :error expect(result[:status]).to eq :error
expect(result[:message]).to eq 'You dont have push access to repo' expect(result[:message]).to eq 'You dont have push access to repo'
expect(branch_exists?('feature')).to be true
end end
end end
end end
def branch_exists?(branch_name)
repository.ref_exists?("refs/heads/#{branch_name}")
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment