diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-20 09:55:51 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-20 09:55:51 +0000 |
commit | e8d2c2579383897a1dd7f9debd359abe8ae8373d (patch) | |
tree | c42be41678c2586d49a75cabce89322082698334 /spec/presenters | |
parent | fc845b37ec3a90aaa719975f607740c22ba6a113 (diff) | |
download | gitlab-ce-e8d2c2579383897a1dd7f9debd359abe8ae8373d.tar.gz |
Add latest changes from gitlab-org/gitlab@14-1-stable-eev14.1.0-rc42
Diffstat (limited to 'spec/presenters')
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 } |