diff options
Diffstat (limited to 'spec/models/concerns/ci/artifactable_spec.rb')
-rw-r--r-- | spec/models/concerns/ci/artifactable_spec.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/models/concerns/ci/artifactable_spec.rb b/spec/models/concerns/ci/artifactable_spec.rb index ebc838e86a6..62fc689a9ca 100644 --- a/spec/models/concerns/ci/artifactable_spec.rb +++ b/spec/models/concerns/ci/artifactable_spec.rb @@ -72,5 +72,33 @@ RSpec.describe Ci::Artifactable do expect(Ci::JobArtifact.expired(1).order_id_asc).to eq([recently_expired_artifact]) end end + + describe '.with_files_stored_locally' do + it 'returns artifacts stored locally' do + expect(Ci::JobArtifact.with_files_stored_locally).to contain_exactly(recently_expired_artifact, later_expired_artifact, not_expired_artifact) + end + end + + describe '.with_files_stored_remotely' do + let(:remote_artifact) { create(:ci_job_artifact, :remote_store) } + + before do + stub_artifacts_object_storage + end + + it 'returns artifacts stored remotely' do + expect(Ci::JobArtifact.with_files_stored_remotely).to contain_exactly(remote_artifact) + end + end + + describe '.project_id_in' do + context 'when artifacts belongs to projects' do + let(:project_ids) { [recently_expired_artifact.project.id, not_expired_artifact.project.id, non_existing_record_id] } + + it 'returns artifacts belonging to projects' do + expect(Ci::JobArtifact.project_id_in(project_ids)).to contain_exactly(recently_expired_artifact, not_expired_artifact) + end + end + end end end |