1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
# 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
end
def echo(input:)
input
end
end
directive(GraphQL::Schema::Directive::Transform)
query(Query)
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
|