Add specs for new ci status helper method

This commit is contained in:
Grzegorz Bizon 2017-04-21 22:30:45 +02:00
parent 3e96b6ff7f
commit 2a80ba27b6
1 changed files with 38 additions and 9 deletions

View File

@ -6,25 +6,54 @@ describe CiStatusHelper do
let(:success_commit) { double("Ci::Pipeline", status: 'success') } let(:success_commit) { double("Ci::Pipeline", status: 'success') }
let(:failed_commit) { double("Ci::Pipeline", status: 'failed') } let(:failed_commit) { double("Ci::Pipeline", status: 'failed') }
describe 'ci_icon_for_status' do describe '#ci_icon_for_status' do
it 'renders to correct svg on success' do it 'renders to correct svg on success' do
expect(helper).to receive(:render).with('shared/icons/icon_status_success.svg', anything) expect(helper).to receive(:render)
.with('shared/icons/icon_status_success.svg', anything)
helper.ci_icon_for_status(success_commit.status) helper.ci_icon_for_status(success_commit.status)
end end
it 'renders the correct svg on failure' do it 'renders the correct svg on failure' do
expect(helper).to receive(:render).with('shared/icons/icon_status_failed.svg', anything) expect(helper).to receive(:render)
.with('shared/icons/icon_status_failed.svg', anything)
helper.ci_icon_for_status(failed_commit.status) helper.ci_icon_for_status(failed_commit.status)
end end
end end
describe '#ci_text_for_status' do
context 'when status is manual' do
it 'changes the status to blocked' do
expect(helper.ci_text_for_status('manual'))
.to eq 'blocked'
end
end
context 'when status is success' do
it 'changes the status to passed' do
expect(helper.ci_text_for_status('success'))
.to eq 'passed'
end
end
context 'when status is something else' do
it 'returns status unchanged' do
expect(helper.ci_text_for_status('some-status'))
.to eq 'some-status'
end
end
end
describe "#pipeline_status_cache_key" do describe "#pipeline_status_cache_key" do
let(:pipeline_status) do
Gitlab::Cache::Ci::ProjectPipelineStatus
.new(build(:project), sha: '123abc', status: 'success')
end
it "builds a cache key for pipeline status" do it "builds a cache key for pipeline status" do
pipeline_status = Gitlab::Cache::Ci::ProjectPipelineStatus.new( expect(helper.pipeline_status_cache_key(pipeline_status))
build(:project), .to eq("pipeline-status/123abc-success")
sha: "123abc",
status: "success"
)
expect(helper.pipeline_status_cache_key(pipeline_status)).to eq("pipeline-status/123abc-success")
end end
end end
end end