summaryrefslogtreecommitdiff
path: root/spec/graphql/types/terraform/state_type_spec.rb
blob: 5098adbf45c152cc77325892fb18500413a0aeb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe GitlabSchema.types['TerraformState'] do
  it { expect(described_class.graphql_name).to eq('TerraformState') }
  it { expect(described_class).to require_graphql_authorizations(:read_terraform_state) }

  describe 'fields' do
    let(:fields) { %i[id name locked_by_user locked_at latest_version created_at updated_at deleted_at] }

    it { expect(described_class).to have_graphql_fields(fields) }

    it { expect(described_class.fields['id'].type).to be_non_null }
    it { expect(described_class.fields['name'].type).to be_non_null }
    it { expect(described_class.fields['lockedByUser'].type).not_to be_non_null }
    it { expect(described_class.fields['lockedAt'].type).not_to be_non_null }
    it { expect(described_class.fields['createdAt'].type).to be_non_null }
    it { expect(described_class.fields['updatedAt'].type).to be_non_null }
    it { expect(described_class.fields['deletedAt'].type).not_to be_non_null }

    it { expect(described_class.fields['latestVersion'].type).not_to be_non_null }
    it { expect(described_class.fields['latestVersion'].complexity).to eq(3) }
  end
end