Fix rubocop offences and rspec failures
This commit is contained in:
parent
df834306c1
commit
fd302061f9
|
@ -101,8 +101,8 @@ class PipelinesFinder
|
|||
|
||||
def order_and_sort(items)
|
||||
if params[:order_by].present? && params[:sort].present? &&
|
||||
items.column_names.include?(params[:order_by]) &&
|
||||
(params[:sort].downcase == 'asc' || params[:sort].downcase == 'desc')
|
||||
items.column_names.include?(params[:order_by]) &&
|
||||
(params[:sort].casecmp('ASC') || params[:sort].casecmp('DESC'))
|
||||
items.order("#{params[:order_by]} #{params[:sort]}")
|
||||
else
|
||||
items.order(id: :desc)
|
||||
|
|
|
@ -16,14 +16,14 @@ module API
|
|||
use :pagination
|
||||
optional :scope, type: String, values: %w(running pending finished branches tags),
|
||||
desc: 'The scope of pipelines'
|
||||
optional :status, type: String, values: ['running', 'pending', 'success', 'failed', 'canceled', 'skipped'],
|
||||
optional :status, type: String, values: %w(running pending success failed canceled skipped),
|
||||
desc: 'The status of pipelines'
|
||||
optional :ref, type: String, desc: 'The ref of pipelines'
|
||||
optional :yaml_errors, type: Boolean, desc: 'If true, Returns only yaml error pipelines'
|
||||
optional :username, type: String, desc: 'The name of user who triggered pipelines'
|
||||
optional :order_by, type: String, values: ['id', 'status', 'ref', 'username', 'started_at', 'finished_at', 'created_at', 'updated_at'], default: 'id',
|
||||
optional :order_by, type: String, values: %w(id status ref username started_at finished_at created_at updated_at), default: 'id',
|
||||
desc: 'The order_by which is combined with a sort'
|
||||
optional :sort, type: String, values: ['asc', 'desc'], default: 'desc',
|
||||
optional :sort, type: String, values: %w(asc desc), default: 'desc',
|
||||
desc: 'The sort method which is combined with an order_by'
|
||||
end
|
||||
get ':id/pipelines' do
|
||||
|
|
|
@ -34,16 +34,15 @@ describe PipelinesFinder do
|
|||
end
|
||||
|
||||
it 'orders in descending order on ID' do
|
||||
expected_ids = [
|
||||
tag_pipeline.id,
|
||||
created_pipeline.id,
|
||||
pending_pipeline.id,
|
||||
running_pipeline.id,
|
||||
success_pipeline.id,
|
||||
failed_pipeline.id,
|
||||
canceled_pipeline.id,
|
||||
skipped_pipeline.id,
|
||||
yaml_errors_pipeline.id].sort.reverse
|
||||
expected_ids = [tag_pipeline.id,
|
||||
created_pipeline.id,
|
||||
pending_pipeline.id,
|
||||
running_pipeline.id,
|
||||
success_pipeline.id,
|
||||
failed_pipeline.id,
|
||||
canceled_pipeline.id,
|
||||
skipped_pipeline.id,
|
||||
yaml_errors_pipeline.id].sort.reverse
|
||||
expect(subject.map(&:id)).to eq expected_ids
|
||||
end
|
||||
end
|
||||
|
@ -214,21 +213,21 @@ describe PipelinesFinder do
|
|||
end
|
||||
|
||||
context 'when a order_by and sort are passed' do
|
||||
context 'when order by started_at asc' do
|
||||
context 'when order by created_at asc' do
|
||||
let(:params) { { order_by: 'created_at', sort: 'asc' } }
|
||||
|
||||
it 'sorts by started_at asc' do
|
||||
expected_created_at = [
|
||||
tag_pipeline.created_at,
|
||||
created_pipeline.created_at,
|
||||
pending_pipeline.created_at,
|
||||
running_pipeline.created_at,
|
||||
success_pipeline.created_at,
|
||||
failed_pipeline.created_at,
|
||||
canceled_pipeline.created_at,
|
||||
skipped_pipeline.created_at,
|
||||
yaml_errors_pipeline.created_at].sort
|
||||
expect(subject.map(&:created_at)).to eq expected_created_at
|
||||
it 'sorts by created_at asc' do
|
||||
expect(subject.first).to eq(tag_pipeline)
|
||||
expect(subject.last).to eq(yaml_errors_pipeline)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when order by created_at desc' do
|
||||
let(:params) { { order_by: 'created_at', sort: 'desc' } }
|
||||
|
||||
it 'sorts by created_at desc' do
|
||||
expect(subject.first).to eq(yaml_errors_pipeline)
|
||||
expect(subject.last).to eq(tag_pipeline)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue