Commit 461e3979 authored by Patrick Bajao's avatar Patrick Bajao

Move empty_repo check on its own

parent 333097d7
......@@ -46,7 +46,9 @@ module Gitlab
end
end
if creation? && protected_branch_creation_enabled? && !project.empty_repo?
if project.empty_repo?
protected_branch_push_checks
elsif creation? && protected_branch_creation_enabled?
protected_branch_creation_checks
elsif deletion?
protected_branch_deletion_checks
......
......@@ -48,13 +48,31 @@ describe Gitlab::Checks::BranchCheck do
context 'when project repository is empty' do
let(:project) { create(:project) }
it 'raises an error if the user is not allowed to push to protected branches' do
expect(user_access).to receive(:can_push_to_branch?).and_return(false)
context 'user is not allowed to push to protected branches' do
before do
allow(user_access)
.to receive(:can_push_to_branch?)
.and_return(false)
end
it 'raises an error' do
expect { subject.validate! }.to raise_error(Gitlab::GitAccess::UnauthorizedError, /Ask a project Owner or Maintainer to create a default branch/)
end
end
context 'user is allowed to push to protected branches' do
before do
allow(user_access)
.to receive(:can_push_to_branch?)
.and_return(true)
end
it 'allows branch creation' do
expect { subject.validate! }.not_to raise_error
end
end
end
context 'branch creation' do
let(:oldrev) { '0000000000000000000000000000000000000000' }
let(:ref) { 'refs/heads/feature' }
......@@ -116,21 +134,6 @@ describe Gitlab::Checks::BranchCheck do
.and_return(['branch'])
end
context "when repo is empty" do
let(:project) { create(:project, :empty_repo) }
let(:ref) { 'refs/heads/master' }
before do
allow(user_access)
.to receive(:can_push_to_branch?)
.and_return(true)
end
it 'allows branch creation' do
expect { subject.validate! }.not_to raise_error
end
end
context "newrev isn't in any protected branches" do
before do
allow(ProtectedBranch)
......
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