diff options
Diffstat (limited to 'spec/support/shared_examples/models/concerns/has_repository_shared_examples.rb')
-rw-r--r-- | spec/support/shared_examples/models/concerns/has_repository_shared_examples.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/support/shared_examples/models/concerns/has_repository_shared_examples.rb b/spec/support/shared_examples/models/concerns/has_repository_shared_examples.rb index f37ef3533c3..826ee453919 100644 --- a/spec/support/shared_examples/models/concerns/has_repository_shared_examples.rb +++ b/spec/support/shared_examples/models/concerns/has_repository_shared_examples.rb @@ -6,6 +6,14 @@ RSpec.shared_examples 'model with repository' do let(:expected_full_path) { raise NotImplementedError } let(:expected_web_url_path) { expected_full_path } let(:expected_repo_url_path) { expected_full_path } + let(:expected_lfs_enabled) { false } + + it 'container class includes HasRepository' do + # NOTE: This is not enforced at runtime, since we also need to support Geo::DeletedProject + expect(described_class).to include_module(HasRepository) + expect(container).to be_kind_of(HasRepository) + expect(stubbed_container).to be_kind_of(HasRepository) + end describe '#commits_by' do let(:commits) { container.repository.commits('HEAD', limit: 3).commits } @@ -74,6 +82,10 @@ RSpec.shared_examples 'model with repository' do it 'returns valid repo' do expect(container.repository).to be_kind_of(Repository) end + + it 'uses the same container' do + expect(container.repository.container).to be(container) + end end describe '#storage' do @@ -88,6 +100,16 @@ RSpec.shared_examples 'model with repository' do end end + describe '#lfs_enabled?' do + before do + stub_lfs_setting(enabled: true) + end + + it 'returns the expected value' do + expect(container.lfs_enabled?).to eq(expected_lfs_enabled) + end + end + describe '#empty_repo?' do context 'when the repo does not exist' do it 'returns true' do |