specs for serializers.
This commit is contained in:
parent
709b8b6186
commit
c43a82cdfa
|
|
@ -1,22 +1,38 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe ClusterEntity do
|
||||
set(:cluster) { create(:gcp_cluster, :errored) }
|
||||
let(:request) { double('request') }
|
||||
|
||||
let(:entity) do
|
||||
described_class.new(cluster)
|
||||
end
|
||||
|
||||
describe '#as_json' do
|
||||
subject { entity.as_json }
|
||||
subject { described_class.new(cluster).as_json }
|
||||
|
||||
it 'contains status' do
|
||||
expect(subject[:status]).to eq(:errored)
|
||||
context 'when provider type is gcp' do
|
||||
let(:cluster) { create(:cluster, provider_type: :gcp, provider_gcp: provider) }
|
||||
|
||||
context 'when status is creating' do
|
||||
let(:provider) { create(:provider_gcp, :creating) }
|
||||
|
||||
it 'has corresponded data' do
|
||||
expect(subject[:status]).to eq(:creating)
|
||||
expect(subject[:status_reason]).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context 'when status is errored' do
|
||||
let(:provider) { create(:provider_gcp, :errored) }
|
||||
|
||||
it 'has corresponded data' do
|
||||
expect(subject[:status]).to eq(:errored)
|
||||
expect(subject[:status_reason]).to eq(provider.status_reason)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
it 'contains status reason' do
|
||||
expect(subject[:status_reason]).to eq('general error')
|
||||
context 'when provider type is user' do
|
||||
let(:cluster) { create(:cluster, provider_type: :user) }
|
||||
|
||||
it 'has nil' do
|
||||
expect(subject[:status]).to be_nil
|
||||
expect(subject[:status_reason]).to be_nil
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,15 +1,20 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe ClusterSerializer do
|
||||
let(:serializer) do
|
||||
described_class.new
|
||||
end
|
||||
|
||||
describe '#represent_status' do
|
||||
subject { serializer.represent_status(resource) }
|
||||
subject { described_class.new.represent_status(cluster) }
|
||||
|
||||
context 'when represents only status' do
|
||||
let(:resource) { create(:gcp_cluster, :errored) }
|
||||
context 'when provider type is gcp' do
|
||||
let(:cluster) { create(:cluster, provider_type: :gcp, provider_gcp: provider) }
|
||||
let(:provider) { create(:provider_gcp, :errored) }
|
||||
|
||||
it 'serializes only status' do
|
||||
expect(subject.keys).to contain_exactly(:status, :status_reason)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when provider type is user' do
|
||||
let(:cluster) { create(:cluster, provider_type: :user) }
|
||||
|
||||
it 'serializes only status' do
|
||||
expect(subject.keys).to contain_exactly(:status, :status_reason)
|
||||
|
|
|
|||
Loading…
Reference in New Issue