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
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
......
class StatusEntity < Grape::Entity
include RequestAwareEntity
expose :icon, :text, :label, :title
expose :icon, :text, :label
expose :has_details?, as: :has_details
expose :details_path
......
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)
end
let(:user) { create(:user) }
describe '#represent' do
subject { serializer.represent(pipeline) }
# TODO add some tests here.
it 'serializers the pipeline object' do
expect(subject.as_json).to include :id
end
end
end
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
......
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