28 lines
		
	
	
		
			699 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			699 B
		
	
	
	
		
			Ruby
		
	
	
	
require 'spec_helper'
 | 
						|
 | 
						|
describe Gitlab::Allowable do
 | 
						|
  subject do
 | 
						|
    Class.new.include(described_class).new
 | 
						|
  end
 | 
						|
 | 
						|
  describe '#can?' do
 | 
						|
    let(:user) { create(:user) }
 | 
						|
 | 
						|
    context 'when user is allowed to do something' do
 | 
						|
      let(:project) { create(:empty_project, :public) }
 | 
						|
 | 
						|
      it 'reports correct ability to perform action' do
 | 
						|
        expect(subject.can?(user, :read_project, project)).to be true
 | 
						|
      end
 | 
						|
    end
 | 
						|
 | 
						|
    context 'when user is not allowed to do something' do
 | 
						|
      let(:project) { create(:empty_project, :private) }
 | 
						|
 | 
						|
      it 'reports correct ability to perform action' do
 | 
						|
        expect(subject.can?(user, :read_project, project)).to be false
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |