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>2021-07-20 12:55:51 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-07-20 12:55:51 +0300
commite8d2c2579383897a1dd7f9debd359abe8ae8373d (patch)
treec42be41678c2586d49a75cabce89322082698334 /spec/presenters
parentfc845b37ec3a90aaa719975f607740c22ba6a113 (diff)
Add latest changes from gitlab-org/gitlab@14-1-stable-eev14.1.0-rc42
Diffstat (limited to 'spec/presenters')
-rw-r--r--spec/presenters/blob_presenter_spec.rb22
-rw-r--r--spec/presenters/ci/build_runner_presenter_spec.rb32
-rw-r--r--spec/presenters/merge_request_presenter_spec.rb10
-rw-r--r--spec/presenters/packages/nuget/package_metadata_presenter_spec.rb4
-rw-r--r--spec/presenters/packages/nuget/service_index_presenter_spec.rb13
-rw-r--r--spec/presenters/snippet_blob_presenter_spec.rb21
6 files changed, 61 insertions, 41 deletions
diff --git a/spec/presenters/blob_presenter_spec.rb b/spec/presenters/blob_presenter_spec.rb
index 38bdf3b9364..466a2b55e76 100644
--- a/spec/presenters/blob_presenter_spec.rb
+++ b/spec/presenters/blob_presenter_spec.rb
@@ -121,16 +121,26 @@ RSpec.describe BlobPresenter do
end
end
- describe '#plain_data' do
+ describe '#raw_plain_data' do
let(:blob) { repository.blob_at('HEAD', file) }
- subject { described_class.new(blob).plain_data }
+ context 'when blob is text' do
+ let(:file) { 'files/ruby/popen.rb' }
+
+ it 'does not include html in the content' do
+ expect(presenter.raw_plain_data.include?('</span>')).to be_falsey
+ end
+ end
+ end
+
+ describe '#plain_data' do
+ let(:blob) { repository.blob_at('HEAD', file) }
context 'when blob is binary' do
let(:file) { 'files/images/logo-black.png' }
it 'returns nil' do
- expect(subject).to be_nil
+ expect(presenter.plain_data).to be_nil
end
end
@@ -138,7 +148,7 @@ RSpec.describe BlobPresenter do
let(:file) { 'README.md' }
it 'returns plain content' do
- expect(subject).to include('<span id="LC1" class="line" lang="markdown">')
+ expect(presenter.plain_data).to include('<span id="LC1" class="line" lang="markdown">')
end
end
@@ -146,7 +156,7 @@ RSpec.describe BlobPresenter do
let(:file) { 'files/ruby/regex.rb' }
it 'returns highlighted syntax content' do
- expect(subject)
+ expect(presenter.plain_data)
.to include '<span id="LC1" class="line" lang="ruby"><span class="k">module</span> <span class="nn">Gitlab</span>'
end
end
@@ -155,7 +165,7 @@ RSpec.describe BlobPresenter do
let(:file) { 'LICENSE' }
it 'returns plain text highlighted content' do
- expect(subject).to include('<span id="LC1" class="line" lang="plaintext">The MIT License (MIT)</span>')
+ expect(presenter.plain_data).to include('<span id="LC1" class="line" lang="plaintext">The MIT License (MIT)</span>')
end
end
end
diff --git a/spec/presenters/ci/build_runner_presenter_spec.rb b/spec/presenters/ci/build_runner_presenter_spec.rb
index 9cb00781e99..4422773fec6 100644
--- a/spec/presenters/ci/build_runner_presenter_spec.rb
+++ b/spec/presenters/ci/build_runner_presenter_spec.rb
@@ -44,29 +44,13 @@ RSpec.describe Ci::BuildRunnerPresenter do
create(:ci_build, options: { artifacts: { paths: %w[abc], exclude: %w[cde] } })
end
- context 'when the feature is enabled' do
- before do
- stub_feature_flags(ci_artifacts_exclude: true)
- end
-
- it 'includes the list of excluded paths' do
- expect(presenter.artifacts.first).to include(
- artifact_type: :archive,
- artifact_format: :zip,
- paths: %w[abc],
- exclude: %w[cde]
- )
- end
- end
-
- context 'when the feature is disabled' do
- before do
- stub_feature_flags(ci_artifacts_exclude: false)
- end
-
- it 'does not include the list of excluded paths' do
- expect(presenter.artifacts.first).not_to have_key(:exclude)
- end
+ it 'includes the list of excluded paths' do
+ expect(presenter.artifacts.first).to include(
+ artifact_type: :archive,
+ artifact_format: :zip,
+ paths: %w[abc],
+ exclude: %w[cde]
+ )
end
end
@@ -193,7 +177,7 @@ RSpec.describe Ci::BuildRunnerPresenter do
end
it 'uses a SHA in the persistent refspec' do
- expect(subject[0]).to match(/^\+[0-9a-f]{40}:refs\/pipelines\/[0-9]+$/)
+ expect(subject[0]).to match(%r{^\+[0-9a-f]{40}:refs/pipelines/[0-9]+$})
end
context 'when ref is tag' do
diff --git a/spec/presenters/merge_request_presenter_spec.rb b/spec/presenters/merge_request_presenter_spec.rb
index c64f9e8465f..b3ec184d08c 100644
--- a/spec/presenters/merge_request_presenter_spec.rb
+++ b/spec/presenters/merge_request_presenter_spec.rb
@@ -11,17 +11,17 @@ RSpec.describe MergeRequestPresenter do
subject { described_class.new(resource).ci_status }
context 'when no head pipeline' do
- it 'return status using CiService' do
- ci_service = double(Integrations::MockCi)
+ it 'return status from Ci integration' do
+ ci_integration = double(Integrations::MockCi)
ci_status = double
allow(resource.source_project)
- .to receive(:ci_service)
- .and_return(ci_service)
+ .to receive(:ci_integration)
+ .and_return(ci_integration)
allow(resource).to receive(:head_pipeline).and_return(nil)
- expect(ci_service).to receive(:commit_status)
+ expect(ci_integration).to receive(:commit_status)
.with(resource.diff_head_sha, resource.source_branch)
.and_return(ci_status)
diff --git a/spec/presenters/packages/nuget/package_metadata_presenter_spec.rb b/spec/presenters/packages/nuget/package_metadata_presenter_spec.rb
index d5e7b23d785..8bb0694f39c 100644
--- a/spec/presenters/packages/nuget/package_metadata_presenter_spec.rb
+++ b/spec/presenters/packages/nuget/package_metadata_presenter_spec.rb
@@ -5,7 +5,7 @@ require 'spec_helper'
RSpec.describe Packages::Nuget::PackageMetadataPresenter do
include_context 'with expected presenters dependency groups'
- let_it_be(:package) { create(:nuget_package, :with_metadatum) }
+ let_it_be(:package) { create(:nuget_package, :with_symbol_package, :with_metadatum) }
let_it_be(:tag1) { create(:packages_tag, name: 'tag1', package: package) }
let_it_be(:tag2) { create(:packages_tag, name: 'tag2', package: package) }
let_it_be(:presenter) { described_class.new(package) }
@@ -19,7 +19,7 @@ RSpec.describe Packages::Nuget::PackageMetadataPresenter do
end
describe '#archive_url' do
- let_it_be(:expected_suffix) { "/api/v4/projects/#{package.project_id}/packages/nuget/download/#{package.name}/#{package.version}/#{package.package_files.last.file_name}" }
+ let_it_be(:expected_suffix) { "/api/v4/projects/#{package.project_id}/packages/nuget/download/#{package.name}/#{package.version}/#{package.package_files.with_format('nupkg').last.file_name}" }
subject { presenter.archive_url }
diff --git a/spec/presenters/packages/nuget/service_index_presenter_spec.rb b/spec/presenters/packages/nuget/service_index_presenter_spec.rb
index 9c95fbc8fd2..aa69a9c3017 100644
--- a/spec/presenters/packages/nuget/service_index_presenter_spec.rb
+++ b/spec/presenters/packages/nuget/service_index_presenter_spec.rb
@@ -27,7 +27,7 @@ RSpec.describe ::Packages::Nuget::ServiceIndexPresenter do
describe '#resources' do
subject { presenter.resources }
- shared_examples 'returning valid resources' do |resources_count: 8, include_publish_service: true|
+ shared_examples 'returning valid resources' do |resources_count: 9, include_publish_service: true|
it 'has valid resources' do
expect(subject.size).to eq resources_count
subject.each do |resource|
@@ -38,10 +38,15 @@ RSpec.describe ::Packages::Nuget::ServiceIndexPresenter do
end
end
- it "does #{'not ' unless include_publish_service}return the publish resource" do
+ it "does #{'not ' unless include_publish_service}return the publish resource", :aggregate_failures do
services_types = subject.map { |res| res[:@type] }
- described_class::SERVICE_VERSIONS[:publish].each do |publish_service_version|
+ publish_service_versions = [
+ described_class::SERVICE_VERSIONS[:publish],
+ described_class::SERVICE_VERSIONS[:symbol]
+ ].flatten
+
+ publish_service_versions.each do |publish_service_version|
if include_publish_service
expect(services_types).to include(publish_service_version)
else
@@ -54,7 +59,7 @@ RSpec.describe ::Packages::Nuget::ServiceIndexPresenter do
context 'for a group' do
let(:target) { group }
- # at the group level we don't have the publish and download service
+ # at the group level we don't have the publish, symbol, and download service
it_behaves_like 'returning valid resources', resources_count: 6, include_publish_service: false
end
diff --git a/spec/presenters/snippet_blob_presenter_spec.rb b/spec/presenters/snippet_blob_presenter_spec.rb
index 42eca6b5a49..1a5130dcdf6 100644
--- a/spec/presenters/snippet_blob_presenter_spec.rb
+++ b/spec/presenters/snippet_blob_presenter_spec.rb
@@ -120,6 +120,27 @@ RSpec.describe SnippetBlobPresenter do
end
end
+ describe '#raw_plain_data' do
+ context "with a plain file" do
+ subject { described_class.new(blob, current_user: user) }
+
+ it 'shows raw data for non binary files' do
+ expect(subject.raw_plain_data).to eq(blob.data)
+ end
+ end
+
+ context "with a binary file" do
+ let(:file) { 'files/images/logo-black.png' }
+ let(:blob) { blob_at(file) }
+
+ subject { described_class.new(blob, current_user: user) }
+
+ it 'returns nil' do
+ expect(subject.raw_plain_data).to be_nil
+ end
+ end
+ end
+
describe '#raw_url' do
subject { described_class.new(blob, current_user: user).raw_url }