Commit ccea4727 authored by Grzegorz Bizon's avatar Grzegorz Bizon

Fix pipeline detailed status serializer and entities

parent c7db5b3e
...@@ -4,7 +4,7 @@ class PipelineEntity < Grape::Entity ...@@ -4,7 +4,7 @@ class PipelineEntity < Grape::Entity
expose :id expose :id
expose :user, using: UserEntity expose :user, using: UserEntity
expose :url do |pipeline| expose :path do |pipeline|
namespace_project_pipeline_path( namespace_project_pipeline_path(
pipeline.project.namespace, pipeline.project.namespace,
pipeline.project, pipeline.project,
...@@ -12,7 +12,12 @@ class PipelineEntity < Grape::Entity ...@@ -12,7 +12,12 @@ class PipelineEntity < Grape::Entity
end end
expose :details do 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 :duration
expose :finished_at expose :finished_at
expose :stages, using: PipelineStageEntity expose :stages, using: PipelineStageEntity
......
class StatusEntity < Grape::Entity class StatusEntity < Grape::Entity
include RequestAwareEntity include RequestAwareEntity
expose :icon, :text, :label, :title expose :icon, :text, :label
expose :has_details?, as: :has_details expose :has_details?, as: :has_details
expose :details_path expose :details_path
......
require 'spec_helper' require 'spec_helper'
describe PipelineSerializer do describe PipelineSerializer do
let(:user) { create(:user) }
let(:pipeline) { create(:ci_empty_pipeline) }
let(:serializer) do let(:serializer) do
described_class.new(user: user) described_class.new(user: user)
end end
let(:pipelines) do describe '#represent' do
create_list(:ci_pipeline, 2) subject { serializer.represent(pipeline) }
end
let(:user) { create(:user) }
# TODO add some tests here. it 'serializers the pipeline object' do
expect(subject.as_json).to include :id
end
end
end end
require 'spec_helper' require 'spec_helper'
describe StatusEntity do describe StatusEntity do
let(:entity) do let(:entity) { described_class.new(status) }
described_class.new(status)
end
let(:status) do # TODO, add statuses factory let(:status) do
Gitlab::Ci::Status::Success.new(double('object')) Gitlab::Ci::Status::Success.new(double('object'), double('user'))
end end
before do before do
...@@ -17,7 +15,7 @@ describe StatusEntity do ...@@ -17,7 +15,7 @@ describe StatusEntity do
subject { entity.as_json } subject { entity.as_json }
it 'contains status details' do 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 :has_details
expect(subject).to include :details_path expect(subject).to include :details_path
end end
......
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