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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
# frozen_string_literal: true
require "spec_helper"
describe GraphQL::StaticValidation::NoDefinitionsArePresent do
include StaticValidationHelpers
describe "when schema definitions are present in the query" do
let(:query_string) {
<<-GRAPHQL
{
cheese(id: 1) { flavor }
}
type Thing {
stuff: Int
}
scalar Date
GRAPHQL
}
it "adds an error" do
assert_equal 1, errors.length
err = errors[0]
assert_equal "Query cannot contain schema definitions", err["message"]
assert_equal [{"line"=>5, "column"=>7}, {"line"=>9, "column"=>7}], err["locations"]
end
end
describe "when schema extensions are present in the query" do
let(:query_string) {
<<-GRAPHQL
{
cheese(id: 1) { flavor }
}
extend schema {
subscription: Query
}
extend scalar TracingScalar @deprecated
extend type Dairy @deprecated
extend interface Edible @deprecated
extend union Beverage @deprecated
extend enum DairyAnimal @deprecated
extend input ResourceOrderType @deprecated
GRAPHQL
}
it "adds an error" do
assert_equal 1, errors.length
err = errors[0]
assert_equal "Query cannot contain schema definitions", err["message"]
assert_equal [{"line"=>5, "column"=>7},
{"line"=>9, "column"=>7},
{"line"=>10, "column"=>7},
{"line"=>11, "column"=>7},
{"line"=>12, "column"=>7},
{"line"=>13, "column"=>7},
{"line"=>14, "column"=>7}], err["locations"]
end
end
end
|