Commit 7b621c27 authored by Mark Chao's avatar Mark Chao Committed by Bob Van Landuyt

Accept string for required_minimum_access_level

Add spec
parent 9e27f0d9
...@@ -62,7 +62,8 @@ class ProjectFeature < ApplicationRecord ...@@ -62,7 +62,8 @@ class ProjectFeature < ApplicationRecord
private private
def ensure_feature!(feature) def ensure_feature!(feature)
feature = feature.model_name.plural.to_sym if feature.respond_to?(:model_name) feature = feature.model_name.plural if feature.respond_to?(:model_name)
feature = feature.to_sym
raise ArgumentError, "invalid project feature: #{feature}" unless FEATURES.include?(feature) raise ArgumentError, "invalid project feature: #{feature}" unless FEATURES.include?(feature)
feature feature
......
...@@ -228,4 +228,28 @@ describe ProjectFeature do ...@@ -228,4 +228,28 @@ describe ProjectFeature do
end end
end end
end end
describe '.required_minimum_access_level' do
it 'handles reporter level' do
expect(described_class.required_minimum_access_level(:merge_requests)).to eq(Gitlab::Access::REPORTER)
end
it 'handles guest level' do
expect(described_class.required_minimum_access_level(:issues)).to eq(Gitlab::Access::GUEST)
end
it 'accepts ActiveModel' do
expect(described_class.required_minimum_access_level(MergeRequest)).to eq(Gitlab::Access::REPORTER)
end
it 'accepts string' do
expect(described_class.required_minimum_access_level('merge_requests')).to eq(Gitlab::Access::REPORTER)
end
it 'raises error if feature is invalid' do
expect do
described_class.required_minimum_access_level(:foos)
end.to raise_error
end
end
end end
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