29 lines
		
	
	
		
			873 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			873 B
		
	
	
	
		
			Ruby
		
	
	
	
| require 'spec_helper'
 | |
| 
 | |
| describe Gitlab::Git::AttributesAtRefParser, seed_helper: true do
 | |
|   let(:project) { create(:project, :repository) }
 | |
|   let(:repository) { project.repository }
 | |
| 
 | |
|   subject { described_class.new(repository, 'lfs') }
 | |
| 
 | |
|   it 'loads .gitattributes blob' do
 | |
|     repository.raw # Initialize repository in advance since this also checks attributes
 | |
| 
 | |
|     expected_filter = 'filter=lfs diff=lfs merge=lfs'
 | |
|     receive_blob = receive(:new).with(a_string_including(expected_filter))
 | |
|     expect(Gitlab::Git::AttributesParser).to receive_blob.and_call_original
 | |
| 
 | |
|     subject
 | |
|   end
 | |
| 
 | |
|   it 'handles missing blobs' do
 | |
|     expect { described_class.new(repository, 'non-existant-branch') }.not_to raise_error
 | |
|   end
 | |
| 
 | |
|   describe '#attributes' do
 | |
|     it 'returns the attributes as a Hash' do
 | |
|       expect(subject.attributes('test.lfs')['filter']).to eq('lfs')
 | |
|     end
 | |
|   end
 | |
| end
 |