Add spec for entity and serializer
This commit is contained in:
parent
0191455471
commit
617292046c
|
@ -1,10 +1,16 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe BuildEntity do
|
||||
let(:user) { create(:user) }
|
||||
let(:build) { create(:ci_build) }
|
||||
let(:request) { double('request') }
|
||||
|
||||
before do
|
||||
allow(request).to receive(:user).and_return(user)
|
||||
end
|
||||
|
||||
let(:entity) do
|
||||
described_class.new(build, request: double)
|
||||
described_class.new(build, request: request)
|
||||
end
|
||||
|
||||
subject { entity.as_json }
|
||||
|
@ -22,6 +28,11 @@ describe BuildEntity do
|
|||
expect(subject).to include(:created_at, :updated_at)
|
||||
end
|
||||
|
||||
it 'contains details' do
|
||||
expect(subject).to include :details
|
||||
expect(subject[:details][:status]).to include :icon, :favicon, :text, :label
|
||||
end
|
||||
|
||||
context 'when build is a regular job' do
|
||||
it 'does not contain path to play action' do
|
||||
expect(subject).not_to include(:play_path)
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe BuildSerializer do
|
||||
let(:user) { create(:user) }
|
||||
|
||||
let(:serializer) do
|
||||
described_class.new(user: user)
|
||||
end
|
||||
|
||||
subject { serializer.represent(resource) }
|
||||
|
||||
describe '#represent' do
|
||||
context 'when used with status' do
|
||||
let(:serializer) do
|
||||
described_class.new(user: user)
|
||||
.with_status
|
||||
end
|
||||
let(:resource) { create(:ci_build) }
|
||||
|
||||
it 'serializes only status' do
|
||||
expect(subject[:details][:status]).not_to be_empty
|
||||
expect(subject[:details].keys.count).to eq 1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -30,7 +30,7 @@ describe PipelineEntity do
|
|||
.to include :duration, :finished_at
|
||||
expect(subject[:details])
|
||||
.to include :stages, :artifacts, :manual_actions
|
||||
expect(subject[:details][:status]).to include :icon, :text, :label
|
||||
expect(subject[:details][:status]).to include :icon, :favicon, :text, :label
|
||||
end
|
||||
|
||||
it 'contains flags' do
|
||||
|
|
|
@ -93,5 +93,18 @@ describe PipelineSerializer do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when used with status' do
|
||||
let(:serializer) do
|
||||
described_class.new(user: user)
|
||||
.with_status
|
||||
end
|
||||
let(:resource) { create(:ci_empty_pipeline) }
|
||||
|
||||
it 'serializes only status' do
|
||||
expect(subject[:details][:status]).not_to be_empty
|
||||
expect(subject[:details].keys.count).to eq 1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,7 +16,7 @@ describe StatusEntity do
|
|||
subject { entity.as_json }
|
||||
|
||||
it 'contains status details' do
|
||||
expect(subject).to include :text, :icon, :label, :group
|
||||
expect(subject).to include :text, :icon, :favicon, :label, :group
|
||||
expect(subject).to include :has_details, :details_path
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue