Read about our upcoming Code of Conduct on this issue

Commit f1e1df85 authored by Douwe Maan's avatar Douwe Maan
Browse files

Merge branch 'rs-feature-enabled-and-licensed' into 'master'

Add `Feature.enabled_and_licensed?`

See merge request gitlab-org/gitlab-ce!21687
......@@ -55,6 +55,9 @@ def quoted_access_level_column(feature)
default_value_for :repository_access_level, value: ENABLED, allows_nil: false
def feature_available?(feature, user)
# This feature might not be behind a feature flag at all, so default to true
return false unless ::Feature.enabled?(feature, user, default_enabled: true)
get_permission(user, access_level(feature))
end
......
......@@ -73,6 +73,22 @@
end
end
end
context 'when feature is disabled by a feature flag' do
it 'returns false' do
stub_feature_flags(issues: false)
expect(project.feature_available?(:issues, user)).to eq(false)
end
end
context 'when feature is enabled by a feature flag' do
it 'returns true' do
stub_feature_flags(issues: true)
expect(project.feature_available?(:issues, user)).to eq(true)
end
end
end
context 'repository related features' do
......
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