diff options
Diffstat (limited to 'spec/models/ci/job_artifact_spec.rb')
-rw-r--r-- | spec/models/ci/job_artifact_spec.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/models/ci/job_artifact_spec.rb b/spec/models/ci/job_artifact_spec.rb index ef21ca8f100..796947be4c8 100644 --- a/spec/models/ci/job_artifact_spec.rb +++ b/spec/models/ci/job_artifact_spec.rb @@ -219,6 +219,39 @@ RSpec.describe Ci::JobArtifact do end end + describe '.unlocked' do + let_it_be(:job_artifact) { create(:ci_job_artifact) } + + context 'with locked pipelines' do + before do + job_artifact.job.pipeline.artifacts_locked! + end + + it 'returns an empty array' do + expect(described_class.unlocked).to be_empty + end + end + + context 'with unlocked pipelines' do + before do + job_artifact.job.pipeline.unlocked! + end + + it 'returns the artifact' do + expect(described_class.unlocked).to eq([job_artifact]) + end + end + end + + describe '.order_expired_desc' do + let_it_be(:first_artifact) { create(:ci_job_artifact, expire_at: 2.days.ago) } + let_it_be(:second_artifact) { create(:ci_job_artifact, expire_at: 1.day.ago) } + + it 'returns ordered artifacts' do + expect(described_class.order_expired_desc).to eq([second_artifact, first_artifact]) + end + end + describe 'callbacks' do describe '#schedule_background_upload' do subject { create(:ci_job_artifact, :archive) } |