Skip to content

Commit 161dafa

Browse files
committed
Fix missing require; update typestack spec
1 parent b9e210f commit 161dafa

File tree

2 files changed

+11
-19
lines changed

2 files changed

+11
-19
lines changed

lib/graphql/static_validation.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# frozen_string_literal: true
22
require "graphql/static_validation/message"
33
require "graphql/static_validation/definition_dependencies"
4+
require "graphql/static_validation/type_stack"
45
require "graphql/static_validation/validator"
56
require "graphql/static_validation/validation_context"
67
require "graphql/static_validation/literal_validator"
Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,6 @@
11
# frozen_string_literal: true
22
require "spec_helper"
33

4-
class TypeCheckValidator
5-
def self.checks
6-
@checks ||= []
7-
end
8-
9-
def validate(context)
10-
self.class.checks.clear
11-
context.visitor[GraphQL::Language::Nodes::Field] << ->(node, parent) {
12-
self.class.checks << context.object_types.map {|t| t.name || t.kind.name }
13-
}
14-
end
15-
end
16-
174
describe GraphQL::StaticValidation::TypeStack do
185
let(:query_string) {%|
196
query getCheese {
@@ -22,17 +9,21 @@ def validate(context)
229
fragment edibleFields on Edible { fatContent @skip(if: false)}
2310
|}
2411

25-
let(:validator) { GraphQL::StaticValidation::Validator.new(schema: Dummy::Schema, rules: [TypeCheckValidator]) }
26-
let(:query) { GraphQL::Query.new(Dummy::Schema, query_string) }
27-
28-
2912
it "stores up types" do
30-
validator.validate(query)
13+
document = GraphQL.parse(query_string)
14+
visitor = GraphQL::Language::Visitor.new(document)
15+
type_stack = GraphQL::StaticValidation::TypeStack.new(Dummy::Schema, visitor)
16+
checks = []
17+
visitor[GraphQL::Language::Nodes::Field].enter << ->(node, parent) {
18+
checks << type_stack.object_types.map {|t| t.name || t.kind.name }
19+
}
20+
visitor.visit
21+
3122
expected = [
3223
["Query", "Cheese"],
3324
["Query", "Cheese", "NON_NULL"],
3425
["Edible", "NON_NULL"]
3526
]
36-
assert_equal(expected, TypeCheckValidator.checks)
27+
assert_equal(expected, checks)
3728
end
3829
end

0 commit comments

Comments
 (0)