Sha256: e3d75817896bffbcb2c56eb19045985fa0d2fa757a04216c430034dc29ae0cc0

Contents?: true

Size: 1.07 KB

Versions: 8

Compression:

Stored size: 1.07 KB

Contents

require "spec_helper"

describe GraphQL::Schema::TypeExpression do
  let(:types) { DummySchema.types }
  let(:ast_node) {
    document = GraphQL.parse("query dostuff($var: #{type_name}) { id } ")
    document.definitions.first.variables.first.type
  }
  let(:type_expression_result) { GraphQL::Schema::TypeExpression.build_type(types, ast_node) }

  describe "#type" do
    describe "simple types" do
      let(:type_name) { "DairyProductInput" }
      it "it gets types from the provided types" do
        assert_equal(DairyProductInputType, type_expression_result)
      end
    end

    describe "non-null types" do
      let(:type_name) { "String!"}
      it "makes non-null types" do
        assert_equal(GraphQL::STRING_TYPE.to_non_null_type,type_expression_result)
      end
    end

    describe "list types" do
      let(:type_name) { "[DairyAnimal!]!" }

      it "makes list types" do
        expected = DairyAnimalEnum
          .to_non_null_type
          .to_list_type
          .to_non_null_type
        assert_equal(expected, type_expression_result)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
graphql-1.2.6 spec/graphql/schema/type_expression_spec.rb
graphql-1.2.5 spec/graphql/schema/type_expression_spec.rb
graphql-1.2.4 spec/graphql/schema/type_expression_spec.rb
graphql-1.2.3 spec/graphql/schema/type_expression_spec.rb
graphql-1.2.2 spec/graphql/schema/type_expression_spec.rb
graphql-1.2.1 spec/graphql/schema/type_expression_spec.rb
graphql-1.2.0 spec/graphql/schema/type_expression_spec.rb
graphql-1.1.0 spec/graphql/schema/type_expression_spec.rb