Skip to content
Snippets Groups Projects
Commit 7b621c27 authored by Mark Chao's avatar Mark Chao Committed by Bob Van Landuyt
Browse files

Accept string for required_minimum_access_level

Add spec
parent 9e27f0d9
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -62,7 +62,8 @@ class ProjectFeature < ApplicationRecord
private
 
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)
 
feature
Loading
Loading
Loading
Loading
@@ -228,4 +228,28 @@ describe ProjectFeature do
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment