Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-09-02 00:10:03 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-09-02 00:10:03 +0300
commitc629c71fe6b682978c026ae67d82f2b5562c5c44 (patch)
tree4aba7610250b73b3b91f036042fbbe847910f55b /spec/lib/gitlab/gl_repository
parenta8be0f7506339309e264218deffa008bfdf2d9cc (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.rb6
-rw-r--r--spec/lib/gitlab/gl_repository/repo_type_spec.rb24
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