Sha256: 311968e637e5fe9f538b5587847cb771c713f0f441f297192a7a6e224e3539df

Contents?: true

Size: 1.13 KB

Versions: 7

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true
require "spec_helper"

describe GraphQL::Types::Relay::BaseEdge do
  module NonNullableDummy
    class NonNullableNode < GraphQL::Schema::Object; end

    class NonNullableNodeEdgeType < GraphQL::Types::Relay::BaseEdge
      node_type(NonNullableNode, null: false)
    end

    class NonNullableNodeEdgeConnectionType < GraphQL::Types::Relay::BaseConnection
      edge_type(NonNullableNodeEdgeType, nodes_field: false)
    end

    class Query < GraphQL::Schema::Object
      field :connection, NonNullableNodeEdgeConnectionType, null: false
    end

    class Schema < GraphQL::Schema
      query Query
    end
  end

  it "runs the introspection query and the result contains a edge field that has non-nullable node" do
    res = NonNullableDummy::Schema.execute(GraphQL::Introspection::INTROSPECTION_QUERY)
    assert res
    edge_type = res["data"]["__schema"]["types"].find { |t| t["name"] == "NonNullableNodeEdge" }
    node_field = edge_type["fields"].find { |f| f["name"] == "node" }
    assert_equal "NON_NULL", node_field["type"]["kind"]
    assert_equal "NonNullableNode", node_field["type"]["ofType"]["name"]
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
graphql-1.9.11 spec/graphql/types/relay/base_edge_spec.rb
graphql-1.9.10 spec/graphql/types/relay/base_edge_spec.rb
graphql-1.9.9 spec/graphql/types/relay/base_edge_spec.rb
graphql-1.9.8 spec/graphql/types/relay/base_edge_spec.rb
graphql-1.9.7 spec/graphql/types/relay/base_edge_spec.rb
graphql-1.9.6 spec/graphql/types/relay/base_edge_spec.rb
graphql-1.9.5 spec/graphql/types/relay/base_edge_spec.rb