summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLin Jen-Shin <godfat@godfat.org>2017-06-01 03:49:10 +0800
committerLin Jen-Shin <godfat@godfat.org>2017-06-01 03:49:10 +0800
commit17c926313a242c6ad988a7ffd55aa6330c8aacfd (patch)
tree50fb2c7fc4ad4571f7c490f748046ac03a4ece6b
parent554426ddcaa1d8088c0a4e8c649a7a026036df5a (diff)
downloadgitlab-ce-17c926313a242c6ad988a7ffd55aa6330c8aacfd.tar.gz
Add test for Project#protected_for?
-rw-r--r--spec/models/project_spec.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 360fcae29a5..86ab2550bfb 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -1796,6 +1796,43 @@ describe Project, models: true do
end
end
+ describe '#protected_for?' do
+ let(:project) { create(:empty_project) }
+
+ subject { project.protected_for?('ref') }
+
+ context 'when the ref is not protected' do
+ before do
+ stub_application_setting(
+ default_branch_protection: Gitlab::Access::PROTECTION_NONE)
+ end
+
+ it 'returns false' do
+ is_expected.to be_falsey
+ end
+ end
+
+ context 'when the ref is a protected branch' do
+ before do
+ create(:protected_branch, name: 'ref', project: project)
+ end
+
+ it 'returns true' do
+ is_expected.to be_truthy
+ end
+ end
+
+ context 'when the ref is a protected tag' do
+ before do
+ create(:protected_tag, name: 'ref', project: project)
+ end
+
+ it 'returns true' do
+ is_expected.to be_truthy
+ end
+ end
+ end
+
describe '#update_project_statistics' do
let(:project) { create(:empty_project) }