Sha256: 8c3121778daa03247be96e215b7eb8e6942b2fb0f2f6b5171794cf4957e9107d

Contents?: true

Size: 1.23 KB

Versions: 26

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true
require "spec_helper"

describe GraphQL::Define::AssignArgument do
  it "it accepts default_value" do
    arg = define_argument(:a, GraphQL::STRING_TYPE, default_value: 'Default')

    assert_equal "Default", arg.default_value
    assert arg.default_value?
  end

  it "default_value is optional" do
    arg = define_argument(:a, GraphQL::STRING_TYPE)

    assert arg.default_value.nil?
    assert !arg.default_value?
  end

  it "default_value can be explicitly set to nil" do
    arg = define_argument(:a, GraphQL::STRING_TYPE, default_value: nil)

    assert arg.default_value.nil?
    assert arg.default_value?
  end

  it "passing unknown keyword arguments will raise" do
    err = assert_raises ArgumentError do
      define_argument(:a, GraphQL::STRING_TYPE, blah: nil)
    end

    assert_equal 'unknown keyword: blah', err.message

    err = assert_raises ArgumentError do
      define_argument(:a, GraphQL::STRING_TYPE, blah: nil, blah2: nil)
    end

    assert_equal 'unknown keywords: blah, blah2', err.message
  end

  def define_argument(*args)
    type = GraphQL::ObjectType.define do
      field :a, types.String do
        argument(*args)
      end
    end

    type.fields['a'].arguments[args.first.to_s]
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
graphql-1.6.4 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.15 spec/graphql/define/assign_argument_spec.rb
graphql-1.6.3 spec/graphql/define/assign_argument_spec.rb
graphql-1.6.2 spec/graphql/define/assign_argument_spec.rb
graphql-1.6.1 spec/graphql/define/assign_argument_spec.rb
graphql-1.6.0 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.14 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.13 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.7.1 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.12 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.11 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.10 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.9 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.8 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.7 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.6 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.5 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.4 spec/graphql/define/assign_argument_spec.rb
graphql-1.5.3 spec/graphql/define/assign_argument_spec.rb
graphql-1.4.5 spec/graphql/define/assign_argument_spec.rb