From c3dae798e16dee0b64bc8c9fd0e0e21b2502318e Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Thu, 3 Nov 2016 14:01:35 +0100 Subject: [PATCH] Extend tests for environments serializer --- app/serializers/environment_entity.rb | 2 +- .../environment_serializer_spec.rb | 21 +++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/app/serializers/environment_entity.rb b/app/serializers/environment_entity.rb index 6b037e65e55..0a6c5e7f87f 100644 --- a/app/serializers/environment_entity.rb +++ b/app/serializers/environment_entity.rb @@ -10,7 +10,7 @@ class EnvironmentEntity < Grape::Entity expose :last_deployment, using: DeploymentEntity expose :stoppable? - expose :environmenturl do |environment| + expose :environment_url do |environment| @urls.namespace_project_environment_url( environment.project.namespace, environment.project, diff --git a/spec/serializers/environment_serializer_spec.rb b/spec/serializers/environment_serializer_spec.rb index 2c94a076aba..81393beb416 100644 --- a/spec/serializers/environment_serializer_spec.rb +++ b/spec/serializers/environment_serializer_spec.rb @@ -24,21 +24,30 @@ describe EnvironmentSerializer do let(:project) { deployment.project } let(:resource) { deployment.environment } - it 'shows json' do - pp serializer.as_json - end - it 'it generates payload for single object' do expect(serializer.as_json).to be_an_instance_of Hash end + + it 'contains important elements of environment' do + expect(serializer.as_json) + .to include(:name, :external_url, :environment_url, :last_deployment) + end + + it 'contains relevant information about last deployment' do + last_deployment = serializer.as_json.fetch(:last_deployment) + + expect(last_deployment) + .to include(:ref, :user, :commit, :deployable, :manual_actions) + end end context 'when there is a collection of objects provided' do let(:project) { create(:empty_project) } let(:resource) { create_list(:environment, 2) } - it 'shows json' do - puts serializer.as_json + it 'contains important elements of environment' do + expect(serializer.as_json.first) + .to include(:last_deployment, :name, :external_url) end it 'generates payload for collection' do