52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
require "spec_helper"
 | 
						|
 | 
						|
RSpec.describe ProtectedRefsHelper, feature_category: :source_code_management do
 | 
						|
  describe '#protected_access_levels_for_dropdowns' do
 | 
						|
    let(:protected_access_level_dropdown_roles) { :protected_access_level_dropdown_roles }
 | 
						|
 | 
						|
    before do
 | 
						|
      allow(helper)
 | 
						|
        .to receive(:protected_access_level_dropdown_roles)
 | 
						|
        .and_return(protected_access_level_dropdown_roles)
 | 
						|
    end
 | 
						|
 | 
						|
    it 'returns roles for {create,push,merge}_access_levels' do
 | 
						|
      expect(helper.protected_access_levels_for_dropdowns).to eq(
 | 
						|
        {
 | 
						|
          create_access_levels: protected_access_level_dropdown_roles,
 | 
						|
          push_access_levels: protected_access_level_dropdown_roles,
 | 
						|
          merge_access_levels: protected_access_level_dropdown_roles
 | 
						|
        }
 | 
						|
      )
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  describe '#protected_access_level_dropdown_roles' do
 | 
						|
    let(:roles) do
 | 
						|
      [
 | 
						|
        {
 | 
						|
          id: ::Gitlab::Access::DEVELOPER,
 | 
						|
          text: 'Developers + Maintainers',
 | 
						|
          before_divider: true
 | 
						|
        },
 | 
						|
        {
 | 
						|
          id: ::Gitlab::Access::MAINTAINER,
 | 
						|
          text: 'Maintainers',
 | 
						|
          before_divider: true
 | 
						|
        },
 | 
						|
        {
 | 
						|
          id: ::Gitlab::Access::NO_ACCESS,
 | 
						|
          text: 'No one',
 | 
						|
          before_divider: true
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    end
 | 
						|
 | 
						|
    it 'returns dropdown options for each protected ref access level' do
 | 
						|
      expect(helper.protected_access_level_dropdown_roles[:roles]).to include(*roles)
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |