Sha256: 80a3bd5410d6bc9d2c64681538719a945093de193dc9f1997e3376422487bbdf

Contents?: true

Size: 1.13 KB

Versions: 12

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true
require "spec_helper"

describe GraphQL::Language::Nodes::AbstractNode do
  describe "#filename" do
    it "is set after .parse_file" do
      filename = "spec/support/parser/filename_example.graphql"
      doc = GraphQL.parse_file(filename)
      op = doc.definitions.first
      field = op.selections.first
      arg = field.arguments.first

      assert_equal filename, doc.filename
      assert_equal filename, op.filename
      assert_equal filename, field.filename
      assert_equal filename, arg.filename
    end

    it "is null when parse from string" do
      doc = GraphQL.parse("{ thing }")
      assert_nil doc.filename
    end
  end

  describe "#to_query_tring" do
    let(:document) {
      GraphQL.parse('type Query { a: String! }')
    }

    class CustomPrinter < GraphQL::Language::Printer
      def print_field_definition(print_field_definition)
        "<Field Hidden>"
      end
    end

    it "accepts a custom printer" do
      expected = <<-SCHEMA
type Query {
  <Field Hidden>
}
      SCHEMA
      assert_equal expected.chomp, document.to_query_string(printer: CustomPrinter.new)
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
graphql-1.8.6 spec/graphql/language/nodes_spec.rb
graphql-1.8.5 spec/graphql/language/nodes_spec.rb
graphql-1.8.4 spec/graphql/language/nodes_spec.rb
graphql-1.8.3 spec/graphql/language/nodes_spec.rb
graphql-1.8.2 spec/graphql/language/nodes_spec.rb
graphql-1.8.1 spec/graphql/language/nodes_spec.rb
graphql-1.8.0 spec/graphql/language/nodes_spec.rb
graphql-1.8.0.pre11 spec/graphql/language/nodes_spec.rb
graphql-1.8.0.pre10 spec/graphql/language/nodes_spec.rb
graphql-1.7.14 spec/graphql/language/nodes_spec.rb
graphql-1.8.0.pre9 spec/graphql/language/nodes_spec.rb
graphql-1.8.0.pre8 spec/graphql/language/nodes_spec.rb