File tree Expand file tree Collapse file tree 2 files changed +11
-19
lines changed
spec/graphql/static_validation Expand file tree Collapse file tree 2 files changed +11
-19
lines changed Original file line number Diff line number Diff line change 1
1
# frozen_string_literal: true
2
2
require "graphql/static_validation/message"
3
3
require "graphql/static_validation/definition_dependencies"
4
+ require "graphql/static_validation/type_stack"
4
5
require "graphql/static_validation/validator"
5
6
require "graphql/static_validation/validation_context"
6
7
require "graphql/static_validation/literal_validator"
Original file line number Diff line number Diff line change 1
1
# frozen_string_literal: true
2
2
require "spec_helper"
3
3
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
-
17
4
describe GraphQL ::StaticValidation ::TypeStack do
18
5
let ( :query_string ) { %|
19
6
query getCheese {
@@ -22,17 +9,21 @@ def validate(context)
22
9
fragment edibleFields on Edible { fatContent @skip(if: false)}
23
10
| }
24
11
25
- let ( :validator ) { GraphQL ::StaticValidation ::Validator . new ( schema : Dummy ::Schema , rules : [ TypeCheckValidator ] ) }
26
- let ( :query ) { GraphQL ::Query . new ( Dummy ::Schema , query_string ) }
27
-
28
-
29
12
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
+
31
22
expected = [
32
23
[ "Query" , "Cheese" ] ,
33
24
[ "Query" , "Cheese" , "NON_NULL" ] ,
34
25
[ "Edible" , "NON_NULL" ]
35
26
]
36
- assert_equal ( expected , TypeCheckValidator . checks )
27
+ assert_equal ( expected , checks )
37
28
end
38
29
end
You can’t perform that action at this time.
0 commit comments