diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-09-02 00:10:03 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-09-02 00:10:03 +0300 |
commit | c629c71fe6b682978c026ae67d82f2b5562c5c44 (patch) | |
tree | 4aba7610250b73b3b91f036042fbbe847910f55b /spec/lib/gitlab/gl_repository | |
parent | a8be0f7506339309e264218deffa008bfdf2d9cc (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/lib/gitlab/gl_repository')
-rw-r--r-- | spec/lib/gitlab/gl_repository/identifier_spec.rb | 6 | ||||
-rw-r--r-- | spec/lib/gitlab/gl_repository/repo_type_spec.rb | 24 |
2 files changed, 16 insertions, 14 deletions
diff --git a/spec/lib/gitlab/gl_repository/identifier_spec.rb b/spec/lib/gitlab/gl_repository/identifier_spec.rb index dbdcafea6d6..bf7a21899f0 100644 --- a/spec/lib/gitlab/gl_repository/identifier_spec.rb +++ b/spec/lib/gitlab/gl_repository/identifier_spec.rb @@ -68,12 +68,10 @@ RSpec.describe Gitlab::GlRepository::Identifier do end describe 'design' do - let(:design_repository_container) { project.design_repository.container } - it_behaves_like 'parsing gl_repository identifier' do let(:record_id) { project.id } - let(:identifier) { "design-#{design_repository_container.id}" } - let(:expected_container) { design_repository_container } + let(:identifier) { "design-#{project.find_or_create_design_management_repository.id}" } + let(:expected_container) { project.design_management_repository } let(:expected_type) { Gitlab::GlRepository::DESIGN } end end diff --git a/spec/lib/gitlab/gl_repository/repo_type_spec.rb b/spec/lib/gitlab/gl_repository/repo_type_spec.rb index 4ff8137dbd4..807f37b96c9 100644 --- a/spec/lib/gitlab/gl_repository/repo_type_spec.rb +++ b/spec/lib/gitlab/gl_repository/repo_type_spec.rb @@ -12,8 +12,6 @@ RSpec.describe Gitlab::GlRepository::RepoType do let(:personal_snippet_path) { "snippets/#{personal_snippet.id}" } let(:project_snippet_path) { "#{project.full_path}/snippets/#{project_snippet.id}" } - let(:expected_repository_resolver) { expected_container } - describe Gitlab::GlRepository::PROJECT do it_behaves_like 'a repo type' do let(:expected_id) { project.id } @@ -136,11 +134,10 @@ RSpec.describe Gitlab::GlRepository::RepoType do describe Gitlab::GlRepository::DESIGN do it_behaves_like 'a repo type' do let(:expected_repository) { project.design_repository } - let(:expected_container) { expected_repository.container } + let(:expected_container) { project.design_management_repository } let(:expected_id) { expected_container.id } let(:expected_identifier) { "design-#{expected_id}" } let(:expected_suffix) { '.design' } - let(:expected_repository_resolver) { project } end it 'uses the design access checker' do @@ -167,15 +164,22 @@ RSpec.describe Gitlab::GlRepository::RepoType do end describe '.project_for' do - it 'returns a project' do - expect(described_class.project_for(project.design_repository.container)).to be_instance_of(Project) + it 'returns a project when container is a design_management_repository' do + expect(described_class.project_for(project.design_management_repository)).to be_instance_of(Project) end end + end - describe '.repository_for' do - it 'returns a DesignManagement::GitRepository when a project is passed' do - expect(described_class.repository_for(project)).to be_instance_of(DesignManagement::GitRepository) - end + describe '.repository_for' do + subject { Gitlab::GlRepository::DESIGN } + + let(:expected_message) do + "Expected container class to be #{subject.container_class} for " \ + "repo type #{subject.name}, but found #{project.class.name} instead." + end + + it 'raises an error when container class does not match given container_class' do + expect { subject.repository_for(project) }.to raise_error(Gitlab::GlRepository::ContainerClassMismatchError, expected_message) end end end |