Sha256: 963cc08b523e757fb54cc5865e9253f9426278b85fe95cf5d0fcac26eade4a07
Contents?: true
Size: 1.32 KB
Versions: 1
Compression:
Stored size: 1.32 KB
Contents
require "spec_helper" describe GraphQL::StaticValidation::FragmentTypesExist do let(:query_string) {" query getCheese { cheese(id: 1) { ... on Cheese { source } ... on Nothing { whatever } ... somethingFields ... cheeseFields } } fragment somethingFields on Something { something } fragment cheeseFields on Cheese { fatContent } "} let(:validator) { GraphQL::StaticValidation::Validator.new(schema: DummySchema, rules: [GraphQL::StaticValidation::FragmentTypesExist]) } let(:query) { GraphQL::Query.new(DummySchema, query_string) } let(:errors) { validator.validate(query)[:errors] } it "finds non-existent types on fragments" do assert_equal(2, errors.length) inline_fragment_error = { "message"=>"No such type Something, so it can't be a fragment condition", "locations"=>[{"line"=>11, "column"=>5}], "fields"=>["fragment somethingFields"], } assert_includes(errors, inline_fragment_error, "on inline fragments") fragment_def_error = { "message"=>"No such type Nothing, so it can't be a fragment condition", "locations"=>[{"line"=>5, "column"=>9}], "fields"=>["query getCheese", "cheese", "... on Nothing"], } assert_includes(errors, fragment_def_error, "on fragment definitions") end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
graphql-0.18.15 | spec/graphql/static_validation/rules/fragment_types_exist_spec.rb |