Sha256: 4aec210c12f5fef755d64009edb3f9fe9adae182e5acb0cd7fd69ffed71281f8

Contents?: true

Size: 1.27 KB

Versions: 18

Compression:

Stored size: 1.27 KB

Contents

# frozen_string_literal: true
require "spec_helper"

describe GraphQL::StaticValidation::ArgumentNamesAreUnique do
  include StaticValidationHelpers

  describe "field arguments" do
    let(:query_string) { <<-GRAPHQL
    query GetStuff {
      c1: cheese(id: 1, id: 2) { flavor }
      c2: cheese(id: 2) { flavor }
    }
    GRAPHQL
    }

    it "finds duplicate names" do
      assert_equal 1, errors.size

      error = errors.first
      assert_equal 'There can be only one argument named "id"', error["message"]
      assert_equal [{ "line" => 2, "column" => 18}, { "line" => 2, "column" => 25 }], error["locations"]
      assert_equal ["query GetStuff", "c1"], error["fields"]
    end
  end

  describe "directive arguments" do
    let(:query_string) { <<-GRAPHQL
    query GetStuff {
      c1: cheese(id: 1) @include(if: true, if: true) { flavor }
      c2: cheese(id: 2) @include(if: true) { flavor }
    }
    GRAPHQL
    }

    it "finds duplicate names" do
      assert_equal 1, errors.size

      error = errors.first
      assert_equal 'There can be only one argument named "if"', error["message"]
      assert_equal [{ "line" => 2, "column" => 34}, { "line" => 2, "column" => 44 }], error["locations"]
      assert_equal ["query GetStuff", "c1"], error["fields"]
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
graphql-1.8.18 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.17 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.16 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.15 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.14 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.13 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.12 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.9.0.pre1 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.11 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.10 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.9 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.8 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.7 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.6 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.5 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.4 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.3 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb
graphql-1.8.2 spec/graphql/static_validation/rules/argument_names_are_unique_spec.rb