Commit ec586042 authored by Grzegorz Bizon's avatar Grzegorz Bizon

Fix lastest commit status text on main project page

parent ff986c70
......@@ -22,6 +22,23 @@ module CiStatusHelper
end
end
def ci_text_for_status(status)
if detailed_status?(status)
return status.text
end
case status
when 'success'
'passed'
when 'success_with_warnings'
'passed'
when 'manual'
'blocked'
else
status
end
end
def ci_status_for_statuseable(subject)
status = subject.try(:status) || 'not found'
status.humanize
......
- ref = local_assigns.fetch(:ref)
- status = commit.status(ref)
- if status
= link_to pipelines_namespace_project_commit_path(commit.project.namespace, commit.project, commit), class: "ci-status ci-#{status}" do
= ci_icon_for_status(status)
= ci_label_for_status(status)
= ci_text_for_status(status)
= link_to commit.short_id, namespace_project_commit_path(project.namespace, project, commit), class: "commit_short_id"
= link_to_gfm commit.title, namespace_project_commit_path(project.namespace, project, commit), class: "commit-row-message"
......
require 'spec_helper'
describe 'projects/_last_commit', :view do
let(:project) { create(:project, :repository) }
context 'when there is a pipeline present for the commit' do
context 'when pipeline is blocked' do
let!(:pipeline) do
create(:ci_pipeline, :blocked, project: project,
sha: project.commit.id)
end
it 'shows correct pipeline badge' do
render 'projects/last_commit', commit: project.commit,
project: project,
ref: :master
expect(rendered).to have_text "blocked #{project.commit.short_id}"
end
end
end
end
require 'spec_helper'
describe 'projects/commit/_commit_box.html.haml' do
include Devise::Test::ControllerHelpers
describe 'projects/commit/_commit_box.html.haml', :view do
let(:user) { create(:user) }
let(:project) { create(:project, :repository) }
......@@ -18,14 +16,32 @@ describe 'projects/commit/_commit_box.html.haml' do
expect(rendered).to have_text("#{Commit.truncate_sha(project.commit.sha)}")
end
it 'shows the last pipeline that ran for the commit' do
create(:ci_pipeline, project: project, sha: project.commit.id, status: 'success')
create(:ci_pipeline, project: project, sha: project.commit.id, status: 'canceled')
third_pipeline = create(:ci_pipeline, project: project, sha: project.commit.id, status: 'failed')
context 'when there is a pipeline present' do
context 'when there are multiple pipelines for a commit' do
it 'shows the last pipeline' do
create(:ci_pipeline, project: project, sha: project.commit.id, status: 'success')
create(:ci_pipeline, project: project, sha: project.commit.id, status: 'canceled')
third_pipeline = create(:ci_pipeline, project: project, sha: project.commit.id, status: 'failed')
render
render
expect(rendered).to have_text("Pipeline ##{third_pipeline.id} failed")
end
end
expect(rendered).to have_text("Pipeline ##{third_pipeline.id} failed")
context 'when pipeline for the commit is blocked' do
let!(:pipeline) do
create(:ci_pipeline, :blocked, project: project,
sha: project.commit.id)
end
it 'shows correct pipeline description' do
render
expect(rendered).to have_text "Pipeline ##{pipeline.id} " \
'waiting for manual action'
end
end
end
context 'viewing a commit' do
......
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