diff options
Diffstat (limited to 'spec/graphql/types/ci/detailed_status_type_spec.rb')
-rw-r--r-- | spec/graphql/types/ci/detailed_status_type_spec.rb | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/spec/graphql/types/ci/detailed_status_type_spec.rb b/spec/graphql/types/ci/detailed_status_type_spec.rb index 9fa3280657a..5ed79b73a47 100644 --- a/spec/graphql/types/ci/detailed_status_type_spec.rb +++ b/spec/graphql/types/ci/detailed_status_type_spec.rb @@ -8,14 +8,26 @@ RSpec.describe Types::Ci::DetailedStatusType do specify { expect(described_class.graphql_name).to eq('DetailedStatus') } it 'has all fields' do - expect(described_class).to have_graphql_fields(:group, :icon, :favicon, + expect(described_class).to have_graphql_fields(:id, :group, :icon, :favicon, :details_path, :has_details, :label, :text, :tooltip, :action) end + let_it_be(:stage) { create(:ci_stage_entity, status: :skipped) } + + describe 'id field' do + it 'correctly renders the field' do + parent_object = double(:parent_object, object: stage) + parent = double(:parent, object: parent_object) + status = stage.detailed_status(stage.pipeline.user) + expected_id = "#{status.id}-#{stage.id}" + + expect(resolve_field('id', status, extras: { parent: parent })).to eq(expected_id) + end + end + describe 'action field' do it 'correctly renders the field' do - stage = create(:ci_stage_entity, status: :skipped) status = stage.detailed_status(stage.pipeline.user) expected_status = { |