BigW Consortium Gitlab

Commit 1ae557c1 by Lin Jen-Shin
parent ee4c8b75
......@@ -63,7 +63,7 @@ module CiStatusHelper
render_status_with_link(
'commit',
commit.status_for(ref),
commit.status(ref),
path,
tooltip_placement: tooltip_placement)
end
......
......@@ -230,11 +230,7 @@ class Commit
project.pipelines.where(sha: sha)
end
def status
status_for(nil)
end
def status_for(ref)
def status(ref = nil)
if @statuses.key?(ref)
@statuses[ref]
elsif ref
......
- status = commit.status_for(ref)
- status = commit.status(ref)
- if status
= link_to builds_namespace_project_commit_path(commit.project.namespace, commit.project, commit), class: "ci-status ci-#{status}" do
= ci_icon_for_status(status)
......
......@@ -18,14 +18,14 @@
%span.commit-row-message.visible-xs-inline
·
= commit.short_id
- if commit.status_for(ref)
- if commit.status(ref)
.visible-xs-inline
= render_commit_status(commit, ref: ref)
- if commit.description?
%a.text-expander.hidden-xs.js-toggle-button ...
.commit-actions.hidden-xs
- if commit.status_for(ref)
- if commit.status(ref)
= render_commit_status(commit, ref: ref)
= clipboard_button(clipboard_text: commit.id)
= link_to commit.short_id, namespace_project_commit_path(project.namespace, project, commit), class: "commit-short-id btn btn-transparent"
......
......@@ -210,49 +210,51 @@ eos
end
describe '#status' do
shared_examples 'giving the status from pipeline' do
it do
expect(commit.status).to eq(Ci::Pipeline.status)
context 'without arguments for compound status' do
shared_examples 'giving the status from pipeline' do
it do
expect(commit.status).to eq(Ci::Pipeline.status)
end
end
end
context 'with pipelines' do
let!(:pipeline) do
create(:ci_empty_pipeline, project: project, sha: commit.sha)
end
context 'with pipelines' do
let!(:pipeline) do
create(:ci_empty_pipeline, project: project, sha: commit.sha)
end
it_behaves_like 'giving the status from pipeline'
end
it_behaves_like 'giving the status from pipeline'
end
context 'without pipelines' do
it_behaves_like 'giving the status from pipeline'
context 'without pipelines' do
it_behaves_like 'giving the status from pipeline'
end
end
end
describe '#status_for' do
let!(:pipeline_from_master) do
create(:ci_empty_pipeline,
project: project,
sha: commit.sha,
ref: 'master',
status: 'failed')
end
context 'when a particular ref is specified' do
let!(:pipeline_from_master) do
create(:ci_empty_pipeline,
project: project,
sha: commit.sha,
ref: 'master',
status: 'failed')
end
let!(:pipeline_from_fix) do
create(:ci_empty_pipeline,
project: project,
sha: commit.sha,
ref: 'fix',
status: 'success')
end
let!(:pipeline_from_fix) do
create(:ci_empty_pipeline,
project: project,
sha: commit.sha,
ref: 'fix',
status: 'success')
end
it 'gives pipelines from a particular branch' do
expect(commit.status_for('master')).to eq(pipeline_from_master.status)
expect(commit.status_for('fix')).to eq(pipeline_from_fix.status)
end
it 'gives pipelines from a particular branch' do
expect(commit.status('master')).to eq(pipeline_from_master.status)
expect(commit.status('fix')).to eq(pipeline_from_fix.status)
end
it 'gives compound status if ref is nil' do
expect(commit.status_for(nil)).to eq(commit.status)
it 'gives compound status if ref is nil' do
expect(commit.status(nil)).to eq(commit.status)
end
end
end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment