From e552e1fc22c66c593c4479d85b7a770fda09e5d0 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Tue, 15 Nov 2016 10:32:37 +0100 Subject: [PATCH] Extend tests for delete branch service --- spec/services/delete_branch_service_spec.rb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/spec/services/delete_branch_service_spec.rb b/spec/services/delete_branch_service_spec.rb index 2603a930a08..336f5dafb5b 100644 --- a/spec/services/delete_branch_service_spec.rb +++ b/spec/services/delete_branch_service_spec.rb @@ -2,27 +2,40 @@ require 'spec_helper' describe DeleteBranchService, services: true do let(:project) { create(:project) } + let(:repository) { project.repository } let(:user) { create(:user) } let(:service) { described_class.new(project, user) } describe '#execute' do - let(:result) { service.execute('feature') } - context 'when user has access to push to repository' do before do project.team << [user, :developer] end it 'removes the branch' do + expect(branch_exists?('feature')).to be true + + result = service.execute('feature') + expect(result[:status]).to eq :success + expect(branch_exists?('feature')).to be false end end context 'when user does not have access to push to repository' 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[:message]).to eq 'You dont have push access to repo' + expect(branch_exists?('feature')).to be true end end end + + def branch_exists?(branch_name) + repository.ref_exists?("refs/heads/#{branch_name}") + end end