diff options
Diffstat (limited to 'spec/lib/gitlab/badge/pipeline/status_spec.rb')
-rw-r--r-- | spec/lib/gitlab/badge/pipeline/status_spec.rb | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/spec/lib/gitlab/badge/pipeline/status_spec.rb b/spec/lib/gitlab/badge/pipeline/status_spec.rb deleted file mode 100644 index b5dabca0477..00000000000 --- a/spec/lib/gitlab/badge/pipeline/status_spec.rb +++ /dev/null @@ -1,127 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -RSpec.describe Gitlab::Badge::Pipeline::Status do - let(:project) { create(:project, :repository) } - let(:sha) { project.commit.sha } - let(:branch) { 'master' } - let(:badge) { described_class.new(project, branch) } - - describe '#entity' do - it 'always says pipeline' do - expect(badge.entity).to eq 'pipeline' - end - end - - describe '#template' do - it 'returns badge template' do - expect(badge.template.key_text).to eq 'pipeline' - end - end - - describe '#metadata' do - it 'returns badge metadata' do - expect(badge.metadata.image_url).to include 'badges/master/pipeline.svg' - end - end - - context 'pipeline exists', :sidekiq_might_not_need_inline do - let!(:pipeline) { create_pipeline(project, sha, branch) } - - context 'pipeline success' do - before do - pipeline.success! - end - - describe '#status' do - it 'is successful' do - expect(badge.status).to eq 'success' - end - end - end - - context 'pipeline failed' do - before do - pipeline.drop! - end - - describe '#status' do - it 'failed' do - expect(badge.status).to eq 'failed' - end - end - end - - context 'when outdated pipeline for given ref exists' do - before do - pipeline.success! - - old_pipeline = create_pipeline(project, '11eeffdd', branch) - old_pipeline.drop! - end - - it 'does not take outdated pipeline into account' do - expect(badge.status).to eq 'success' - end - end - - context 'when multiple pipelines exist for given sha' do - before do - pipeline.drop! - - new_pipeline = create_pipeline(project, sha, branch) - new_pipeline.success! - end - - it 'does not take outdated pipeline into account' do - expect(badge.status).to eq 'success' - end - end - - context 'when ignored_skipped is set to true' do - let(:new_badge) { described_class.new(project, branch, opts: { ignore_skipped: true }) } - - before do - pipeline.skip! - end - - describe '#status' do - it 'uses latest non-skipped status' do - expect(new_badge.status).not_to eq 'skipped' - end - end - end - - context 'when ignored_skipped is set to false' do - let(:new_badge) { described_class.new(project, branch, opts: { ignore_skipped: false }) } - - before do - pipeline.skip! - end - - describe '#status' do - it 'uses latest status' do - expect(new_badge.status).to eq 'skipped' - end - end - end - end - - context 'build does not exist' do - describe '#status' do - it 'is unknown' do - expect(badge.status).to eq 'unknown' - end - end - end - - def create_pipeline(project, sha, branch) - pipeline = create(:ci_empty_pipeline, - project: project, - sha: sha, - ref: branch) - - create(:ci_build, pipeline: pipeline, stage: 'notify') - end -end |