Fix pipeline detailed status serializer and entities

This commit is contained in:
Grzegorz Bizon 2016-12-15 15:57:35 +01:00
parent c7db5b3efa
commit ccea4727a6
4 changed files with 21 additions and 15 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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