Sha256: ccd4654cf1358f3fc7c4bc5cb1f95fe2d23ae387f18d3fc9b117abbcae1862de

Contents?: true

Size: 1.04 KB

Versions: 15

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true
require "spec_helper"

describe GraphQL::Schema::Directive::Transform do
  class TransformSchema < GraphQL::Schema
    class Query < GraphQL::Schema::Object
      field :echo, String, null: false do
        argument :input, String, required: true
      end

      def echo(input:)
        input
      end
    end

    directive(GraphQL::Schema::Directive::Transform)

    query(Query)
    # only supported by the interpreter
    use GraphQL::Execution::Interpreter
    use GraphQL::Analysis::AST
  end

  it "transforms when applicable" do
    str = '{
      normal: echo(input: "Hello")
      upcased: echo(input: "Hello") @transform(by: "upcase")
      downcased: echo(input: "Hello") @transform(by: "downcase")
      nonsense: echo(input: "Hello") @transform(by: "nonsense")
    }'

    res = TransformSchema.execute(str)

    assert_equal "Hello", res["data"]["normal"]
    assert_equal "HELLO", res["data"]["upcased"]
    assert_equal "hello", res["data"]["downcased"]
    assert_equal "Hello", res["data"]["nonsense"]
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
graphql-1.9.11 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.10 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.9 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.8 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.7 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.6 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.5 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.4 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.3 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.2 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.1 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.0 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.0.pre4 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.0.pre3 spec/graphql/schema/directive/transform_spec.rb
graphql-1.9.0.pre2 spec/graphql/schema/directive/transform_spec.rb