From 1da4ae719a704125738f2be2544ba134ebfec385 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Wed, 3 Oct 2018 15:28:17 +0900 Subject: [PATCH] Add spec for Status::Pipeline::Scheduled --- spec/factories/ci/pipelines.rb | 4 ++ .../ci/status/pipeline/scheduled_spec.rb | 42 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 spec/lib/gitlab/ci/status/pipeline/scheduled_spec.rb diff --git a/spec/factories/ci/pipelines.rb b/spec/factories/ci/pipelines.rb index 9fef424e425..8a44ce52849 100644 --- a/spec/factories/ci/pipelines.rb +++ b/spec/factories/ci/pipelines.rb @@ -54,6 +54,10 @@ FactoryBot.define do status :manual end + trait :scheduled do + status :scheduled + end + trait :success do status :success end diff --git a/spec/lib/gitlab/ci/status/pipeline/scheduled_spec.rb b/spec/lib/gitlab/ci/status/pipeline/scheduled_spec.rb new file mode 100644 index 00000000000..29afa08b56b --- /dev/null +++ b/spec/lib/gitlab/ci/status/pipeline/scheduled_spec.rb @@ -0,0 +1,42 @@ +require 'spec_helper' + +describe Gitlab::Ci::Status::Pipeline::Scheduled do + let(:pipeline) { double('pipeline') } + + subject do + described_class.new(pipeline) + end + + describe '#text' do + it 'overrides status text' do + expect(subject.text).to eq 'scheduled' + end + end + + describe '#label' do + it 'overrides status label' do + expect(subject.label).to eq 'waiting for delayed job' + end + end + + describe '.matches?' do + let(:user) { double('user') } + subject { described_class.matches?(pipeline, user) } + + context 'when pipeline is scheduled' do + let(:pipeline) { create(:ci_pipeline, :scheduled) } + + it 'is a correct match' do + expect(subject).to be true + end + end + + context 'when pipeline is not scheduled' do + let(:pipeline) { create(:ci_pipeline, :success) } + + it 'does not match' do + expect(subject).to be false + end + end + end +end