Fix pipeline detailed status serializer and entities
This commit is contained in:
parent
c7db5b3efa
commit
ccea4727a6
4 changed files with 21 additions and 15 deletions
|
@ -4,7 +4,7 @@ class PipelineEntity < Grape::Entity
|
|||
expose :id
|
||||
expose :user, using: UserEntity
|
||||
|
||||
expose :url do |pipeline|
|
||||
expose :path do |pipeline|
|
||||
namespace_project_pipeline_path(
|
||||
pipeline.project.namespace,
|
||||
pipeline.project,
|
||||
|
@ -12,7 +12,12 @@ class PipelineEntity < Grape::Entity
|
|||
end
|
||||
|
||||
expose :details do
|
||||
expose :detailed_status, as: :status, using: StatusEntity
|
||||
expose :status do |pipeline, options|
|
||||
StatusEntity.represent(
|
||||
pipeline.detailed_status(request.user),
|
||||
options)
|
||||
end
|
||||
|
||||
expose :duration
|
||||
expose :finished_at
|
||||
expose :stages, using: PipelineStageEntity
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
class StatusEntity < Grape::Entity
|
||||
include RequestAwareEntity
|
||||
|
||||
expose :icon, :text, :label, :title
|
||||
expose :icon, :text, :label
|
||||
|
||||
expose :has_details?, as: :has_details
|
||||
expose :details_path
|
||||
|
|
|
@ -1,15 +1,18 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe PipelineSerializer do
|
||||
let(:user) { create(:user) }
|
||||
let(:pipeline) { create(:ci_empty_pipeline) }
|
||||
|
||||
let(:serializer) do
|
||||
described_class.new(user: user)
|
||||
end
|
||||
|
||||
let(:pipelines) do
|
||||
create_list(:ci_pipeline, 2)
|
||||
describe '#represent' do
|
||||
subject { serializer.represent(pipeline) }
|
||||
|
||||
it 'serializers the pipeline object' do
|
||||
expect(subject.as_json).to include :id
|
||||
end
|
||||
end
|
||||
|
||||
let(:user) { create(:user) }
|
||||
|
||||
# TODO add some tests here.
|
||||
end
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe StatusEntity do
|
||||
let(:entity) do
|
||||
described_class.new(status)
|
||||
end
|
||||
let(:entity) { described_class.new(status) }
|
||||
|
||||
let(:status) do # TODO, add statuses factory
|
||||
Gitlab::Ci::Status::Success.new(double('object'))
|
||||
let(:status) do
|
||||
Gitlab::Ci::Status::Success.new(double('object'), double('user'))
|
||||
end
|
||||
|
||||
before do
|
||||
|
@ -17,7 +15,7 @@ describe StatusEntity do
|
|||
subject { entity.as_json }
|
||||
|
||||
it 'contains status details' do
|
||||
expect(subject).to include :text, :icon, :label, :title
|
||||
expect(subject).to include :text, :icon, :label
|
||||
expect(subject).to include :has_details
|
||||
expect(subject).to include :details_path
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue