Merge branch '26117-sort-pipeline-for-commit' into 'master'

Add sorting pipelines for a commit

Closes #26117

See merge request !8319
This commit is contained in:
Kamil Trzciński 2017-01-19 12:41:51 +00:00
commit fd1e4c7519
5 changed files with 41 additions and 10 deletions

View file

@ -12,7 +12,6 @@ class Projects::CommitController < Projects::ApplicationController
before_action :authorize_read_pipeline!, only: [:pipelines]
before_action :commit
before_action :define_commit_vars, only: [:show, :diff_for_path, :pipelines]
before_action :define_status_vars, only: [:show, :pipelines]
before_action :define_note_vars, only: [:show, :diff_for_path]
before_action :authorize_edit_tree!, only: [:revert, :cherry_pick]
@ -106,10 +105,6 @@ class Projects::CommitController < Projects::ApplicationController
}
end
def define_status_vars
@ci_pipelines = project.pipelines.where(sha: commit.sha)
end
def assign_change_commit_vars(mr_source_branch)
@commit = project.commit(params[:id])
@target_branch = params[:target_branch]

View file

@ -7,4 +7,4 @@
= nav_link(path: 'commit#pipelines') do
= link_to pipelines_namespace_project_commit_path(@project.namespace, @project, @commit.id) do
Pipelines
%span.badge= @ci_pipelines.count
%span.badge= @commit.pipelines.size

View file

@ -3,4 +3,4 @@
= render "commit_box"
= render "ci_menu"
= render "pipelines_list", pipelines: @ci_pipelines
= render "pipelines_list", pipelines: @commit.pipelines.order(id: :desc)

View file

@ -0,0 +1,4 @@
---
title: Add sorting pipeline for a commit
merge_request: 8319
author: Takuya Noguchi

View file

@ -1,9 +1,10 @@
require 'spec_helper'
describe Projects::CommitController do
let(:project) { create(:project) }
let(:user) { create(:user) }
let(:commit) { project.commit("master") }
let(:project) { create(:project) }
let(:user) { create(:user) }
let(:commit) { project.commit("master") }
let(:pipeline) { create(:ci_pipeline, project: project, commit: commit) }
let(:master_pickable_sha) { '7d3b0f7cff5f37573aea97cebfd5692ea1689924' }
let(:master_pickable_commit) { project.commit(master_pickable_sha) }
@ -309,4 +310,35 @@ describe Projects::CommitController do
end
end
end
describe 'GET pipelines' do
def get_pipelines(extra_params = {})
params = {
namespace_id: project.namespace.to_param,
project_id: project.to_param
}
get :pipelines, params.merge(extra_params)
end
context 'when the commit exists' do
context 'when the commit has one or more pipelines' do
it 'shows pipelines' do
get_pipelines(id: commit.id)
expect(response).to be_ok
end
end
end
context 'when the commit does not exist' do
before do
get_pipelines(id: 'e7a412c8da9f6d0081a633a4a402dde1c4694ebd')
end
it 'returns a 404' do
expect(response).to have_http_status(404)
end
end
end
end