2020-01-01 13:55:28 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-03-17 18:26:18 +05:30
|
|
|
require 'spec_helper'
|
|
|
|
|
2020-07-28 23:09:34 +05:30
|
|
|
RSpec.describe Gitlab::Git::AttributesAtRefParser, :seed_helper do
|
2018-03-17 18:26:18 +05:30
|
|
|
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
|
2018-12-13 13:39:08 +05:30
|
|
|
expect { described_class.new(repository, 'non-existent-branch') }.not_to raise_error
|
2018-03-17 18:26:18 +05:30
|
|
|
end
|
|
|
|
|
|
|
|
describe '#attributes' do
|
|
|
|
it 'returns the attributes as a Hash' do
|
|
|
|
expect(subject.attributes('test.lfs')['filter']).to eq('lfs')
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|