diff options
Diffstat (limited to 'spec/models/project_feature_spec.rb')
-rw-r--r-- | spec/models/project_feature_spec.rb | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/spec/models/project_feature_spec.rb b/spec/models/project_feature_spec.rb index fb6aaffdf22..fe0b46c3117 100644 --- a/spec/models/project_feature_spec.rb +++ b/spec/models/project_feature_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe ProjectFeature do +RSpec.describe ProjectFeature, feature_category: :projects do using RSpec::Parameterized::TableSyntax let_it_be_with_reload(:project) { create(:project) } @@ -10,6 +10,28 @@ RSpec.describe ProjectFeature do it { is_expected.to belong_to(:project) } + describe 'default values' do + subject { Project.new.project_feature } + + specify { expect(subject.builds_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.issues_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.forking_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.merge_requests_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.snippets_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.wiki_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.repository_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.metrics_dashboard_access_level).to eq(ProjectFeature::PRIVATE) } + specify { expect(subject.operations_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.security_and_compliance_access_level).to eq(ProjectFeature::PRIVATE) } + specify { expect(subject.monitor_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.infrastructure_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.feature_flags_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.environments_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.releases_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.package_registry_access_level).to eq(ProjectFeature::ENABLED) } + specify { expect(subject.container_registry_access_level).to eq(ProjectFeature::ENABLED) } + end + describe 'PRIVATE_FEATURES_MIN_ACCESS_LEVEL_FOR_PRIVATE_PROJECT' do it 'has higher level than that of PRIVATE_FEATURES_MIN_ACCESS_LEVEL' do described_class::PRIVATE_FEATURES_MIN_ACCESS_LEVEL_FOR_PRIVATE_PROJECT.each do |feature, level| |