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-01-18 22:00:14 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-01-18 22:00:14 +0300
commit05f0ebba3a2c8ddf39e436f412dc2ab5bf1353b2 (patch)
tree11d0f2a6ec31c7793c184106cedc2ded3d9a2cc5 /spec/presenters
parentec73467c23693d0db63a797d10194da9e72a74af (diff)
Add latest changes from gitlab-org/gitlab@15-8-stable-eev15.8.0-rc42
Diffstat (limited to 'spec/presenters')
-rw-r--r--spec/presenters/ci/build_runner_presenter_spec.rb27
-rw-r--r--spec/presenters/ci/stage_presenter_spec.rb2
-rw-r--r--spec/presenters/packages/nuget/packages_metadata_presenter_spec.rb13
-rw-r--r--spec/presenters/project_presenter_spec.rb40
4 files changed, 52 insertions, 30 deletions
diff --git a/spec/presenters/ci/build_runner_presenter_spec.rb b/spec/presenters/ci/build_runner_presenter_spec.rb
index 952de121cc4..dedfe6925c5 100644
--- a/spec/presenters/ci/build_runner_presenter_spec.rb
+++ b/spec/presenters/ci/build_runner_presenter_spec.rb
@@ -349,16 +349,6 @@ RSpec.describe Ci::BuildRunnerPresenter do
public: false, masked: false }
)
end
-
- it 'logs file_variable_is_referenced_in_another_variable' do
- expect(Gitlab::AppJsonLogger).to receive(:info).with(
- event: 'file_variable_is_referenced_in_another_variable',
- project_id: project.id,
- variable: 'file_var'
- ).once
-
- runner_variables
- end
end
context 'when there is a raw variable to expand' do
@@ -385,23 +375,6 @@ RSpec.describe Ci::BuildRunnerPresenter do
public: false, masked: false }
)
end
-
- context 'when the FF ci_raw_variables_in_yaml_config is disabled' do
- before do
- stub_feature_flags(ci_raw_variables_in_yaml_config: false)
- end
-
- it 'returns expanded variables' do
- expect(runner_variables).to include(
- { key: 'regular_var', value: 'value 1',
- public: false, masked: false },
- { key: 'raw_var', value: 'value 2',
- public: false, masked: false, raw: true },
- { key: 'var_with_variables', value: 'value 3 and value 1 and value 2 and $undefined_var',
- public: false, masked: false }
- )
- end
- end
end
end
diff --git a/spec/presenters/ci/stage_presenter_spec.rb b/spec/presenters/ci/stage_presenter_spec.rb
index 368f03b0150..e7187b4ac16 100644
--- a/spec/presenters/ci/stage_presenter_spec.rb
+++ b/spec/presenters/ci/stage_presenter_spec.rb
@@ -10,7 +10,7 @@ RSpec.describe Ci::StagePresenter do
let!(:retried_build) { create(:ci_build, :tags, :artifacts, :retried, pipeline: stage.pipeline, stage: stage.name) }
before do
- create(:generic_commit_status, pipeline: stage.pipeline, stage: stage.name)
+ create(:generic_commit_status, pipeline: stage.pipeline, ci_stage: stage)
end
shared_examples 'preloaded associations for CI status' do
diff --git a/spec/presenters/packages/nuget/packages_metadata_presenter_spec.rb b/spec/presenters/packages/nuget/packages_metadata_presenter_spec.rb
index 39682a3311c..87a87cd8d70 100644
--- a/spec/presenters/packages/nuget/packages_metadata_presenter_spec.rb
+++ b/spec/presenters/packages/nuget/packages_metadata_presenter_spec.rb
@@ -2,12 +2,13 @@
require 'spec_helper'
-RSpec.describe Packages::Nuget::PackagesMetadataPresenter do
+RSpec.describe Packages::Nuget::PackagesMetadataPresenter, feature_category: :package_registry do
include_context 'with expected presenters dependency groups'
let_it_be(:project) { create(:project) }
let_it_be(:packages) { create_list(:nuget_package, 5, :with_metadatum, name: 'Dummy.Package', project: project) }
- let_it_be(:presenter) { described_class.new(packages) }
+
+ let(:presenter) { described_class.new(project.packages) }
describe '#count' do
subject { presenter.count }
@@ -28,6 +29,14 @@ RSpec.describe Packages::Nuget::PackagesMetadataPresenter do
end
end
+ it 'avoids N+1 database queries' do
+ control = ActiveRecord::QueryRecorder.new { described_class.new(project.packages).items }
+
+ create(:nuget_package, :with_metadatum, name: 'Dummy.Package', project: project)
+
+ expect { described_class.new(project.packages).items }.not_to exceed_query_limit(control)
+ end
+
it 'returns an array' do
items = subject
diff --git a/spec/presenters/project_presenter_spec.rb b/spec/presenters/project_presenter_spec.rb
index 4c2b87f34a1..e3221c18afc 100644
--- a/spec/presenters/project_presenter_spec.rb
+++ b/spec/presenters/project_presenter_spec.rb
@@ -286,6 +286,46 @@ RSpec.describe ProjectPresenter do
link: presenter.project_usage_quotas_path(project)
)
end
+
+ describe '#gitlab_ci_anchor_data' do
+ before do
+ project.update!(auto_devops_enabled: false)
+ end
+
+ context 'when user cannot collaborate' do
+ it 'returns no value' do
+ expect(presenter.gitlab_ci_anchor_data).to be(nil)
+ end
+ end
+
+ context 'when user can collaborate' do
+ before do
+ project.add_developer(user)
+ end
+
+ context 'and the CI/CD file is missing' do
+ it 'returns `Set up CI/CD` button' do
+ expect(presenter.gitlab_ci_anchor_data).to have_attributes(
+ is_link: false,
+ label: a_string_including('Set up CI/CD'),
+ link: presenter.project_ci_pipeline_editor_path(project)
+ )
+ end
+ end
+
+ context 'and there is a CI/CD file' do
+ it 'returns `CI/CD configuration` button' do
+ allow(project.repository).to receive(:gitlab_ci_yml).and_return 'Default content'
+
+ expect(presenter.gitlab_ci_anchor_data).to have_attributes(
+ is_link: false,
+ label: a_string_including('CI/CD configuration'),
+ link: presenter.project_ci_pipeline_editor_path(project)
+ )
+ end
+ end
+ end
+ end
end
describe '#releases_anchor_data' do