Sha256: b6d623d2e6b1675bc6b4956cbadcf4d908f2bc83de0d461cbe5bf721caf1662f

Contents?: true

Size: 797 Bytes

Versions: 7

Compression:

Stored size: 797 Bytes

Contents

require "spec_helper"

describe GraphQL::Argument do
  it "is validated at schema build-time" do
    query_type = GraphQL::ObjectType.define do
      name "Query"
      field :invalid, types.Boolean do
        argument :invalid, types.Float, default_value: ["123"]
      end
    end

    err = assert_raises(GraphQL::Schema::InvalidTypeError) {
      schema = GraphQL::Schema.define(query: query_type)
      schema.types
    }

    expected_error = %|Query is invalid: field "invalid" argument "invalid" default value ["123"] is not valid for type Float|
    assert_includes err.message, expected_error
  end

  it "accepts proc type" do
    argument = GraphQL::Argument.define(name: :favoriteFood, type: -> { GraphQL::STRING_TYPE })
    assert_equal GraphQL::STRING_TYPE, argument.type
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
graphql-1.1.0 spec/graphql/argument_spec.rb
graphql-1.0.0 spec/graphql/argument_spec.rb
graphql-0.19.4 spec/graphql/argument_spec.rb
graphql-0.19.3 spec/graphql/argument_spec.rb
graphql-0.19.2 spec/graphql/argument_spec.rb
graphql-0.19.1 spec/graphql/argument_spec.rb
graphql-0.19.0 spec/graphql/argument_spec.rb