diff options
Diffstat (limited to 'spec/serializers/build_artifact_entity_spec.rb')
-rw-r--r-- | spec/serializers/build_artifact_entity_spec.rb | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/spec/serializers/build_artifact_entity_spec.rb b/spec/serializers/build_artifact_entity_spec.rb index 02c172d723f..8835d4d834e 100644 --- a/spec/serializers/build_artifact_entity_spec.rb +++ b/spec/serializers/build_artifact_entity_spec.rb @@ -3,11 +3,13 @@ require 'spec_helper' RSpec.describe BuildArtifactEntity do - let(:job) { create(:ci_build) } - let(:artifact) { create(:ci_job_artifact, :codequality, expire_at: 1.hour.from_now, job: job) } + let_it_be(:job) { create(:ci_build) } + let_it_be(:artifact) { create(:ci_job_artifact, :codequality, expire_at: 1.hour.from_now, job: job) } + + let(:options) { { request: double } } let(:entity) do - described_class.new(artifact, request: double) + described_class.represent(artifact, options) end describe '#as_json' do @@ -21,15 +23,18 @@ RSpec.describe BuildArtifactEntity do expect(subject).to include(:expired, :expire_at) end - it 'contains paths to the artifacts' do - expect(subject[:path]) - .to include "jobs/#{job.id}/artifacts/download?file_type=codequality" + it 'exposes the artifact download path' do + expect(subject[:path]).to include "jobs/#{job.id}/artifacts/download?file_type=codequality" + end + + context 'when project is specified in options' do + let(:options) { super().merge(project: job.project) } - expect(subject[:keep_path]) - .to include "jobs/#{job.id}/artifacts/keep" + it 'doesnt get a project from the artifact' do + expect(artifact).not_to receive(:project) - expect(subject[:browse_path]) - .to include "jobs/#{job.id}/artifacts/browse" + subject + end end end end |