graphql 1.9.0.pre3 → 1.9.0.pre4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/graphql/analysis/ast/visitor.rb +5 -0
- data/lib/graphql/execution/interpreter/hash_response.rb +1 -1
- data/lib/graphql/execution/interpreter/resolve.rb +2 -0
- data/lib/graphql/execution/interpreter/runtime.rb +11 -2
- data/lib/graphql/execution/lookahead.rb +1 -1
- data/lib/graphql/internal_representation/rewrite.rb +5 -5
- data/lib/graphql/language/parser.rb +1 -1
- data/lib/graphql/language/parser.y +1 -1
- data/lib/graphql/language/printer.rb +1 -1
- data/lib/graphql/language/visitor.rb +1 -1
- data/lib/graphql/query.rb +1 -1
- data/lib/graphql/query/arguments.rb +1 -1
- data/lib/graphql/query/arguments_cache.rb +1 -1
- data/lib/graphql/query/validation_pipeline.rb +3 -3
- data/lib/graphql/schema.rb +1 -1
- data/lib/graphql/schema/field.rb +25 -11
- data/lib/graphql/schema/field/connection_extension.rb +1 -1
- data/lib/graphql/schema/field_extension.rb +11 -3
- data/lib/graphql/schema/mutation.rb +1 -1
- data/lib/graphql/static_validation/base_visitor.rb +1 -1
- data/lib/graphql/static_validation/definition_dependencies.rb +3 -3
- data/lib/graphql/static_validation/literal_validator.rb +1 -1
- data/lib/graphql/static_validation/rules/argument_literals_are_compatible.rb +1 -1
- data/lib/graphql/static_validation/rules/fields_have_appropriate_selections.rb +1 -1
- data/lib/graphql/static_validation/rules/fields_will_merge.rb +1 -1
- data/lib/graphql/static_validation/validator.rb +1 -1
- data/lib/graphql/types/relay/node_field.rb +15 -0
- data/lib/graphql/types/relay/nodes_field.rb +17 -1
- data/lib/graphql/version.rb +1 -1
- data/spec/graphql/analysis/ast_spec.rb +12 -0
- data/spec/graphql/execution/interpreter_spec.rb +83 -0
- data/spec/graphql/schema/field_extension_spec.rb +26 -4
- data/spec/graphql/static_validation/rules/argument_literals_are_compatible_spec.rb +3 -3
- data/spec/integration/rails/graphql/relay/mutation_spec.rb +48 -0
- data/spec/integration/tmp/app/graphql/types/family_type.rb +9 -0
- metadata +4 -98
- data/spec/integration/tmp/app/graphql/types/bird_type.rb +0 -7
- data/spec/integration/tmp/dummy/Gemfile +0 -45
- data/spec/integration/tmp/dummy/README.rdoc +0 -28
- data/spec/integration/tmp/dummy/Rakefile +0 -6
- data/spec/integration/tmp/dummy/app/assets/javascripts/application.js +0 -16
- data/spec/integration/tmp/dummy/app/assets/stylesheets/application.css +0 -15
- data/spec/integration/tmp/dummy/app/controllers/application_controller.rb +0 -5
- data/spec/integration/tmp/dummy/app/controllers/graphql_controller.rb +0 -43
- data/spec/integration/tmp/dummy/app/graphql/dummy_schema.rb +0 -34
- data/spec/integration/tmp/dummy/app/graphql/types/base_enum.rb +0 -4
- data/spec/integration/tmp/dummy/app/graphql/types/base_input_object.rb +0 -4
- data/spec/integration/tmp/dummy/app/graphql/types/base_interface.rb +0 -5
- data/spec/integration/tmp/dummy/app/graphql/types/base_object.rb +0 -4
- data/spec/integration/tmp/dummy/app/graphql/types/base_scalar.rb +0 -4
- data/spec/integration/tmp/dummy/app/graphql/types/base_union.rb +0 -4
- data/spec/integration/tmp/dummy/app/graphql/types/mutation_type.rb +0 -10
- data/spec/integration/tmp/dummy/app/graphql/types/query_type.rb +0 -15
- data/spec/integration/tmp/dummy/app/helpers/application_helper.rb +0 -2
- data/spec/integration/tmp/dummy/app/views/layouts/application.html.erb +0 -14
- data/spec/integration/tmp/dummy/bin/bundle +0 -3
- data/spec/integration/tmp/dummy/bin/rails +0 -4
- data/spec/integration/tmp/dummy/bin/rake +0 -4
- data/spec/integration/tmp/dummy/bin/setup +0 -29
- data/spec/integration/tmp/dummy/config.ru +0 -4
- data/spec/integration/tmp/dummy/config/application.rb +0 -32
- data/spec/integration/tmp/dummy/config/boot.rb +0 -3
- data/spec/integration/tmp/dummy/config/environment.rb +0 -5
- data/spec/integration/tmp/dummy/config/environments/development.rb +0 -38
- data/spec/integration/tmp/dummy/config/environments/production.rb +0 -76
- data/spec/integration/tmp/dummy/config/environments/test.rb +0 -42
- data/spec/integration/tmp/dummy/config/initializers/assets.rb +0 -11
- data/spec/integration/tmp/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/spec/integration/tmp/dummy/config/initializers/cookies_serializer.rb +0 -3
- data/spec/integration/tmp/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/spec/integration/tmp/dummy/config/initializers/inflections.rb +0 -16
- data/spec/integration/tmp/dummy/config/initializers/mime_types.rb +0 -4
- data/spec/integration/tmp/dummy/config/initializers/session_store.rb +0 -3
- data/spec/integration/tmp/dummy/config/initializers/to_time_preserves_timezone.rb +0 -10
- data/spec/integration/tmp/dummy/config/initializers/wrap_parameters.rb +0 -9
- data/spec/integration/tmp/dummy/config/locales/en.yml +0 -23
- data/spec/integration/tmp/dummy/config/routes.rb +0 -61
- data/spec/integration/tmp/dummy/config/secrets.yml +0 -22
- data/spec/integration/tmp/dummy/db/seeds.rb +0 -7
- data/spec/integration/tmp/dummy/public/404.html +0 -67
- data/spec/integration/tmp/dummy/public/422.html +0 -67
- data/spec/integration/tmp/dummy/public/500.html +0 -66
- data/spec/integration/tmp/dummy/public/favicon.ico +0 -0
- data/spec/integration/tmp/dummy/public/robots.txt +0 -5
@@ -4,6 +4,21 @@ module GraphQL
|
|
4
4
|
module Relay
|
5
5
|
# This can be used for implementing `Query.node(id: ...)`,
|
6
6
|
# or use it for inspiration for your own field definition.
|
7
|
+
#
|
8
|
+
# @example Adding this field directly
|
9
|
+
# add_field(GraphQL::Types::Relay::NodeField)
|
10
|
+
#
|
11
|
+
# @example Implementing a similar field in your own Query root
|
12
|
+
#
|
13
|
+
# field :node, GraphQL::Types::Relay::Node, null: true,
|
14
|
+
# description: "Fetches an object given its ID" do
|
15
|
+
# argument :id, ID, required: true
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# def node(id:)
|
19
|
+
# context.schema.object_from_id(context, id)
|
20
|
+
# end
|
21
|
+
#
|
7
22
|
NodeField = GraphQL::Schema::Field.new(
|
8
23
|
name: "node",
|
9
24
|
owner: nil,
|
@@ -4,7 +4,23 @@ module GraphQL
|
|
4
4
|
module Relay
|
5
5
|
# This can be used for implementing `Query.nodes(ids: ...)`,
|
6
6
|
# or use it for inspiration for your own field definition.
|
7
|
-
#
|
7
|
+
#
|
8
|
+
# @example Adding this field directly
|
9
|
+
# add_field(GraphQL::Types::Relay::NodesField)
|
10
|
+
#
|
11
|
+
# @example Implementing a similar field in your own Query root
|
12
|
+
#
|
13
|
+
# field :nodes, [GraphQL::Types::Relay::Node, null: true], null: false,
|
14
|
+
# description: Fetches a list of objects given a list of IDs." do
|
15
|
+
# argument :ids, [ID], required: true
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# def nodes(ids:)
|
19
|
+
# ids.map do |id|
|
20
|
+
# context.schema.object_from_id(context, id)
|
21
|
+
# end
|
22
|
+
# end
|
23
|
+
#
|
8
24
|
NodesField = GraphQL::Schema::Field.new(
|
9
25
|
name: "nodes",
|
10
26
|
owner: nil,
|
data/lib/graphql/version.rb
CHANGED
@@ -137,6 +137,18 @@ describe GraphQL::Analysis::AST do
|
|
137
137
|
}
|
138
138
|
|}
|
139
139
|
|
140
|
+
describe "without a selected operation" do
|
141
|
+
let(:query_string) {%|
|
142
|
+
# A comment
|
143
|
+
# And nothing else
|
144
|
+
# Should not break
|
145
|
+
|}
|
146
|
+
|
147
|
+
it "bails early when there is no selected operation to be executed" do
|
148
|
+
assert_equal 2, reduce_result.size
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
140
152
|
describe "conditional analysis" do
|
141
153
|
let(:analyzers) { [AstTypeCollector, AstConditionalAnalyzer] }
|
142
154
|
|
@@ -78,6 +78,8 @@ describe GraphQL::Execution::Interpreter do
|
|
78
78
|
end
|
79
79
|
|
80
80
|
class FieldCounter < GraphQL::Schema::Object
|
81
|
+
implements GraphQL::Types::Relay::Node
|
82
|
+
|
81
83
|
field :field_counter, FieldCounter, null: false
|
82
84
|
def field_counter; :field_counter; end
|
83
85
|
|
@@ -167,13 +169,52 @@ describe GraphQL::Execution::Interpreter do
|
|
167
169
|
|
168
170
|
field :field_counter, FieldCounter, null: false
|
169
171
|
def field_counter; :field_counter; end
|
172
|
+
|
173
|
+
field :node, field: GraphQL::Relay::Node.field
|
174
|
+
field :nodes, field: GraphQL::Relay::Node.plural_field
|
175
|
+
end
|
176
|
+
|
177
|
+
class Counter < GraphQL::Schema::Object
|
178
|
+
field :value, Integer, null: false
|
179
|
+
field :lazy_value, Integer, null: false
|
180
|
+
|
181
|
+
def lazy_value
|
182
|
+
Box.new { object.value }
|
183
|
+
end
|
184
|
+
|
185
|
+
field :increment, Counter, null: false
|
186
|
+
|
187
|
+
def increment
|
188
|
+
object.value += 1
|
189
|
+
object
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
|
194
|
+
class Mutation < GraphQL::Schema::Object
|
195
|
+
field :increment_counter, Counter, null: false
|
196
|
+
|
197
|
+
def increment_counter
|
198
|
+
counter = context[:counter]
|
199
|
+
counter.value += 1
|
200
|
+
counter
|
201
|
+
end
|
170
202
|
end
|
171
203
|
|
172
204
|
class Schema < GraphQL::Schema
|
173
205
|
use GraphQL::Execution::Interpreter
|
174
206
|
use GraphQL::Analysis::AST
|
175
207
|
query(Query)
|
208
|
+
mutation(Mutation)
|
176
209
|
lazy_resolve(Box, :value)
|
210
|
+
|
211
|
+
def self.object_from_id(id, ctx)
|
212
|
+
OpenStruct.new(id: id)
|
213
|
+
end
|
214
|
+
|
215
|
+
def self.resolve_type(type, obj, ctx)
|
216
|
+
FieldCounter
|
217
|
+
end
|
177
218
|
end
|
178
219
|
end
|
179
220
|
|
@@ -225,6 +266,34 @@ describe GraphQL::Execution::Interpreter do
|
|
225
266
|
assert_equal expected_abstract_list, result["data"]["find"]
|
226
267
|
end
|
227
268
|
|
269
|
+
it "runs mutation roots atomically and sequentially" do
|
270
|
+
query_str = <<-GRAPHQL
|
271
|
+
mutation {
|
272
|
+
i1: incrementCounter { value lazyValue
|
273
|
+
i2: increment { value lazyValue }
|
274
|
+
i3: increment { value lazyValue }
|
275
|
+
}
|
276
|
+
i4: incrementCounter { value lazyValue }
|
277
|
+
i5: incrementCounter { value lazyValue }
|
278
|
+
}
|
279
|
+
GRAPHQL
|
280
|
+
|
281
|
+
result = InterpreterTest::Schema.execute(query_str, context: { counter: OpenStruct.new(value: 0) })
|
282
|
+
expected_data = {
|
283
|
+
"i1" => {
|
284
|
+
"value" => 1,
|
285
|
+
# All of these get `3` as lazy value. They're resolved together,
|
286
|
+
# since they aren't _root_ mutation fields.
|
287
|
+
"lazyValue" => 3,
|
288
|
+
"i2" => { "value" => 2, "lazyValue" => 3 },
|
289
|
+
"i3" => { "value" => 3, "lazyValue" => 3 },
|
290
|
+
},
|
291
|
+
"i4" => { "value" => 4, "lazyValue" => 4},
|
292
|
+
"i5" => { "value" => 5, "lazyValue" => 5},
|
293
|
+
}
|
294
|
+
assert_equal expected_data, result["data"]
|
295
|
+
end
|
296
|
+
|
228
297
|
it "runs skip and include" do
|
229
298
|
query_str = <<-GRAPHQL
|
230
299
|
query($truthy: Boolean!, $falsey: Boolean!){
|
@@ -277,6 +346,9 @@ describe GraphQL::Execution::Interpreter do
|
|
277
346
|
|
278
347
|
describe "CI setup" do
|
279
348
|
it "sets interpreter based on a constant" do
|
349
|
+
# Force the plugins to be applied
|
350
|
+
Jazz::Schema.graphql_definition
|
351
|
+
Dummy::Schema.graphql_definition
|
280
352
|
if TESTING_INTERPRETER
|
281
353
|
assert_equal GraphQL::Execution::Interpreter, Jazz::Schema.query_execution_strategy
|
282
354
|
assert_equal GraphQL::Execution::Interpreter, Dummy::Schema.query_execution_strategy
|
@@ -286,6 +358,7 @@ describe GraphQL::Execution::Interpreter do
|
|
286
358
|
end
|
287
359
|
end
|
288
360
|
end
|
361
|
+
|
289
362
|
describe "null propagation" do
|
290
363
|
it "propagates nulls" do
|
291
364
|
query_str = <<-GRAPHQL
|
@@ -399,4 +472,14 @@ describe GraphQL::Execution::Interpreter do
|
|
399
472
|
assert_equal 3, res["data"]["fieldCounter"]["fieldCounter"]["c3"]
|
400
473
|
end
|
401
474
|
end
|
475
|
+
|
476
|
+
describe "backwards compatibility" do
|
477
|
+
it "handles a legacy nodes field" do
|
478
|
+
res = InterpreterTest::Schema.execute('{ node(id: "abc") { id } }')
|
479
|
+
assert_equal "abc", res["data"]["node"]["id"]
|
480
|
+
|
481
|
+
res = InterpreterTest::Schema.execute('{ nodes(ids: ["abc", "xyz"]) { id } }')
|
482
|
+
assert_equal ["abc", "xyz"], res["data"]["nodes"].map { |n| n["id"] }
|
483
|
+
end
|
484
|
+
end
|
402
485
|
end
|
@@ -20,7 +20,7 @@ describe GraphQL::Schema::FieldExtension do
|
|
20
20
|
field.argument(:factor, Integer, required: true)
|
21
21
|
end
|
22
22
|
|
23
|
-
def
|
23
|
+
def resolve(object:, arguments:, context:)
|
24
24
|
factor = arguments.delete(:factor)
|
25
25
|
yield(object, arguments, factor)
|
26
26
|
end
|
@@ -30,6 +30,19 @@ describe GraphQL::Schema::FieldExtension do
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
+
class MultiplyByArgumentUsingResolve < GraphQL::Schema::FieldExtension
|
34
|
+
def apply
|
35
|
+
field.argument(:factor, Integer, required: true)
|
36
|
+
end
|
37
|
+
|
38
|
+
# `yield` returns the user-returned value
|
39
|
+
# This method's return value is passed along
|
40
|
+
def resolve(object:, arguments:, context:)
|
41
|
+
factor = arguments.delete(:factor)
|
42
|
+
yield(object, arguments) * factor
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
33
46
|
class BaseObject < GraphQL::Schema::Object
|
34
47
|
end
|
35
48
|
|
@@ -43,7 +56,7 @@ describe GraphQL::Schema::FieldExtension do
|
|
43
56
|
input # return it as-is, it will be modified by extensions
|
44
57
|
end
|
45
58
|
|
46
|
-
field :
|
59
|
+
field :tripled_by_option, Integer, null: false, resolver_method: :pass_thru do
|
47
60
|
extension(MultiplyByOption, factor: 3)
|
48
61
|
argument :input, Integer, required: true
|
49
62
|
end
|
@@ -51,6 +64,10 @@ describe GraphQL::Schema::FieldExtension do
|
|
51
64
|
field :multiply_input, Integer, null: false, resolver_method: :pass_thru, extensions: [MultiplyByArgument] do
|
52
65
|
argument :input, Integer, required: true
|
53
66
|
end
|
67
|
+
|
68
|
+
field :multiply_input2, Integer, null: false, resolver_method: :pass_thru, extensions: [MultiplyByArgumentUsingResolve] do
|
69
|
+
argument :input, Integer, required: true
|
70
|
+
end
|
54
71
|
end
|
55
72
|
|
56
73
|
class Schema < GraphQL::Schema
|
@@ -79,10 +96,15 @@ describe GraphQL::Schema::FieldExtension do
|
|
79
96
|
assert_equal 10, res["data"]["doubled"]
|
80
97
|
end
|
81
98
|
|
99
|
+
it "returns the modified value from `yield`" do
|
100
|
+
res = exec_query("{ multiplyInput2(input: 5, factor: 5) }")
|
101
|
+
assert_equal 25, res["data"]["multiplyInput2"]
|
102
|
+
end
|
103
|
+
|
82
104
|
it "has access to config options" do
|
83
105
|
# The factor of three came from an option
|
84
|
-
res = exec_query("{
|
85
|
-
assert_equal 12, res["data"]["
|
106
|
+
res = exec_query("{ tripledByOption(input: 4) }")
|
107
|
+
assert_equal 12, res["data"]["tripledByOption"]
|
86
108
|
end
|
87
109
|
|
88
110
|
it "can hide arguments from resolve methods" do
|
@@ -10,7 +10,7 @@ describe GraphQL::StaticValidation::ArgumentLiteralsAreCompatible do
|
|
10
10
|
stringCheese: cheese(id: "aasdlkfj") { ...cheeseFields }
|
11
11
|
cheese(id: 1) { source @skip(if: "whatever") }
|
12
12
|
yakSource: searchDairy(product: [{source: COW, fatContent: 1.1}]) { __typename }
|
13
|
-
badSource: searchDairy(product:
|
13
|
+
badSource: searchDairy(product: {source: 1.1}) { __typename }
|
14
14
|
missingSource: searchDairy(product: [{fatContent: 1.1}]) { __typename }
|
15
15
|
listCoerce: cheese(id: 1) { similarCheese(source: YAK) { __typename } }
|
16
16
|
missingInputField: searchDairy(product: [{source: YAK, wacky: 1}]) { __typename }
|
@@ -46,7 +46,7 @@ describe GraphQL::StaticValidation::ArgumentLiteralsAreCompatible do
|
|
46
46
|
|
47
47
|
input_object_field_error = {
|
48
48
|
"message"=>"Argument 'source' on InputObject 'DairyProductInput' has an invalid value. Expected type 'DairyAnimal!'.",
|
49
|
-
"locations"=>[{"line"=>6, "column"=>
|
49
|
+
"locations"=>[{"line"=>6, "column"=>39}],
|
50
50
|
"path"=>["query getCheese", "badSource", "product", "source"],
|
51
51
|
"extensions"=>{"code"=>"argumentLiteralsIncompatible", "typeName"=>"InputObject", "argumentName"=>"source"},
|
52
52
|
}
|
@@ -91,7 +91,7 @@ describe GraphQL::StaticValidation::ArgumentLiteralsAreCompatible do
|
|
91
91
|
|
92
92
|
input_object_field_error = {
|
93
93
|
"message"=>"Argument 'source' on InputObject 'DairyProductInput' has an invalid value. Expected type 'DairyAnimal!'.",
|
94
|
-
"locations"=>[{"line"=>6, "column"=>
|
94
|
+
"locations"=>[{"line"=>6, "column"=>39}],
|
95
95
|
"path"=>["query getCheese", "badSource", "product", "source"],
|
96
96
|
"extensions"=>{"code"=>"argumentLiteralsIncompatible", "typeName"=>"InputObject", "argumentName"=>"source"},
|
97
97
|
}
|
@@ -336,4 +336,52 @@ describe GraphQL::Relay::Mutation do
|
|
336
336
|
assert_equal(expected, result)
|
337
337
|
end
|
338
338
|
end
|
339
|
+
|
340
|
+
describe 'supports new input object definition with old mutation definition' do
|
341
|
+
let(:some_attribute_type) do
|
342
|
+
Class.new(GraphQL::Schema::InputObject) do
|
343
|
+
graphql_name 'SomeAttribute'
|
344
|
+
argument :something, String, required: false
|
345
|
+
end
|
346
|
+
end
|
347
|
+
|
348
|
+
let(:do_something_mutation) do
|
349
|
+
some_attribute = some_attribute_type
|
350
|
+
|
351
|
+
GraphQL::Relay::Mutation.define do
|
352
|
+
name 'DoSomethingMutation'
|
353
|
+
input_field :someAttributes, types[some_attribute.graphql_definition]
|
354
|
+
|
355
|
+
return_field :anything, types.String
|
356
|
+
|
357
|
+
resolve ->(_obj, inputs, _ctx) {
|
358
|
+
{
|
359
|
+
anything: inputs.to_h['someAttributes'][0].class.to_s
|
360
|
+
}
|
361
|
+
}
|
362
|
+
end
|
363
|
+
end
|
364
|
+
|
365
|
+
let(:mutation_type) do
|
366
|
+
do_something = do_something_mutation
|
367
|
+
|
368
|
+
Class.new(GraphQL::Schema::Object) do
|
369
|
+
graphql_name 'Mutation'
|
370
|
+
field :doSomething, field: do_something.field
|
371
|
+
end
|
372
|
+
end
|
373
|
+
|
374
|
+
let(:schema) do
|
375
|
+
mutation = mutation_type
|
376
|
+
|
377
|
+
Class.new(GraphQL::Schema) do
|
378
|
+
mutation mutation
|
379
|
+
end
|
380
|
+
end
|
381
|
+
|
382
|
+
it 'converts to hash the whole input' do
|
383
|
+
result = schema.execute('mutation { doSomething(input: {someAttributes: [{something: "string"}]}) { anything } }')
|
384
|
+
assert_equal 'Hash', result['data']['doSomething']['anything']
|
385
|
+
end
|
386
|
+
end
|
339
387
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: graphql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.0.
|
4
|
+
version: 1.9.0.pre4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Mosolgo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-02-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: benchmark-ips
|
@@ -969,54 +969,7 @@ files:
|
|
969
969
|
- spec/integration/rails/graphql/schema_spec.rb
|
970
970
|
- spec/integration/rails/graphql/tracing/active_support_notifications_tracing_spec.rb
|
971
971
|
- spec/integration/rails/spec_helper.rb
|
972
|
-
- spec/integration/tmp/app/graphql/types/
|
973
|
-
- spec/integration/tmp/dummy/Gemfile
|
974
|
-
- spec/integration/tmp/dummy/README.rdoc
|
975
|
-
- spec/integration/tmp/dummy/Rakefile
|
976
|
-
- spec/integration/tmp/dummy/app/assets/javascripts/application.js
|
977
|
-
- spec/integration/tmp/dummy/app/assets/stylesheets/application.css
|
978
|
-
- spec/integration/tmp/dummy/app/controllers/application_controller.rb
|
979
|
-
- spec/integration/tmp/dummy/app/controllers/graphql_controller.rb
|
980
|
-
- spec/integration/tmp/dummy/app/graphql/dummy_schema.rb
|
981
|
-
- spec/integration/tmp/dummy/app/graphql/types/base_enum.rb
|
982
|
-
- spec/integration/tmp/dummy/app/graphql/types/base_input_object.rb
|
983
|
-
- spec/integration/tmp/dummy/app/graphql/types/base_interface.rb
|
984
|
-
- spec/integration/tmp/dummy/app/graphql/types/base_object.rb
|
985
|
-
- spec/integration/tmp/dummy/app/graphql/types/base_scalar.rb
|
986
|
-
- spec/integration/tmp/dummy/app/graphql/types/base_union.rb
|
987
|
-
- spec/integration/tmp/dummy/app/graphql/types/mutation_type.rb
|
988
|
-
- spec/integration/tmp/dummy/app/graphql/types/query_type.rb
|
989
|
-
- spec/integration/tmp/dummy/app/helpers/application_helper.rb
|
990
|
-
- spec/integration/tmp/dummy/app/views/layouts/application.html.erb
|
991
|
-
- spec/integration/tmp/dummy/bin/bundle
|
992
|
-
- spec/integration/tmp/dummy/bin/rails
|
993
|
-
- spec/integration/tmp/dummy/bin/rake
|
994
|
-
- spec/integration/tmp/dummy/bin/setup
|
995
|
-
- spec/integration/tmp/dummy/config.ru
|
996
|
-
- spec/integration/tmp/dummy/config/application.rb
|
997
|
-
- spec/integration/tmp/dummy/config/boot.rb
|
998
|
-
- spec/integration/tmp/dummy/config/environment.rb
|
999
|
-
- spec/integration/tmp/dummy/config/environments/development.rb
|
1000
|
-
- spec/integration/tmp/dummy/config/environments/production.rb
|
1001
|
-
- spec/integration/tmp/dummy/config/environments/test.rb
|
1002
|
-
- spec/integration/tmp/dummy/config/initializers/assets.rb
|
1003
|
-
- spec/integration/tmp/dummy/config/initializers/backtrace_silencers.rb
|
1004
|
-
- spec/integration/tmp/dummy/config/initializers/cookies_serializer.rb
|
1005
|
-
- spec/integration/tmp/dummy/config/initializers/filter_parameter_logging.rb
|
1006
|
-
- spec/integration/tmp/dummy/config/initializers/inflections.rb
|
1007
|
-
- spec/integration/tmp/dummy/config/initializers/mime_types.rb
|
1008
|
-
- spec/integration/tmp/dummy/config/initializers/session_store.rb
|
1009
|
-
- spec/integration/tmp/dummy/config/initializers/to_time_preserves_timezone.rb
|
1010
|
-
- spec/integration/tmp/dummy/config/initializers/wrap_parameters.rb
|
1011
|
-
- spec/integration/tmp/dummy/config/locales/en.yml
|
1012
|
-
- spec/integration/tmp/dummy/config/routes.rb
|
1013
|
-
- spec/integration/tmp/dummy/config/secrets.yml
|
1014
|
-
- spec/integration/tmp/dummy/db/seeds.rb
|
1015
|
-
- spec/integration/tmp/dummy/public/404.html
|
1016
|
-
- spec/integration/tmp/dummy/public/422.html
|
1017
|
-
- spec/integration/tmp/dummy/public/500.html
|
1018
|
-
- spec/integration/tmp/dummy/public/favicon.ico
|
1019
|
-
- spec/integration/tmp/dummy/public/robots.txt
|
972
|
+
- spec/integration/tmp/app/graphql/types/family_type.rb
|
1020
973
|
- spec/spec_helper.rb
|
1021
974
|
- spec/support/dummy/data.rb
|
1022
975
|
- spec/support/dummy/schema.rb
|
@@ -1135,54 +1088,7 @@ test_files:
|
|
1135
1088
|
- spec/integration/mongoid/star_trek/schema.rb
|
1136
1089
|
- spec/integration/mongoid/star_trek/data.rb
|
1137
1090
|
- spec/integration/mongoid/graphql/relay/mongo_relation_connection_spec.rb
|
1138
|
-
- spec/integration/tmp/
|
1139
|
-
- spec/integration/tmp/dummy/app/graphql/types/base_enum.rb
|
1140
|
-
- spec/integration/tmp/dummy/app/graphql/types/base_interface.rb
|
1141
|
-
- spec/integration/tmp/dummy/app/graphql/types/base_scalar.rb
|
1142
|
-
- spec/integration/tmp/dummy/app/graphql/types/mutation_type.rb
|
1143
|
-
- spec/integration/tmp/dummy/app/graphql/types/query_type.rb
|
1144
|
-
- spec/integration/tmp/dummy/app/graphql/types/base_object.rb
|
1145
|
-
- spec/integration/tmp/dummy/app/graphql/types/base_union.rb
|
1146
|
-
- spec/integration/tmp/dummy/app/graphql/dummy_schema.rb
|
1147
|
-
- spec/integration/tmp/dummy/app/controllers/application_controller.rb
|
1148
|
-
- spec/integration/tmp/dummy/app/controllers/graphql_controller.rb
|
1149
|
-
- spec/integration/tmp/dummy/app/views/layouts/application.html.erb
|
1150
|
-
- spec/integration/tmp/dummy/app/assets/javascripts/application.js
|
1151
|
-
- spec/integration/tmp/dummy/app/assets/stylesheets/application.css
|
1152
|
-
- spec/integration/tmp/dummy/app/helpers/application_helper.rb
|
1153
|
-
- spec/integration/tmp/dummy/bin/rake
|
1154
|
-
- spec/integration/tmp/dummy/bin/setup
|
1155
|
-
- spec/integration/tmp/dummy/bin/bundle
|
1156
|
-
- spec/integration/tmp/dummy/bin/rails
|
1157
|
-
- spec/integration/tmp/dummy/config/secrets.yml
|
1158
|
-
- spec/integration/tmp/dummy/config/routes.rb
|
1159
|
-
- spec/integration/tmp/dummy/config/locales/en.yml
|
1160
|
-
- spec/integration/tmp/dummy/config/environments/production.rb
|
1161
|
-
- spec/integration/tmp/dummy/config/environments/development.rb
|
1162
|
-
- spec/integration/tmp/dummy/config/environments/test.rb
|
1163
|
-
- spec/integration/tmp/dummy/config/environment.rb
|
1164
|
-
- spec/integration/tmp/dummy/config/application.rb
|
1165
|
-
- spec/integration/tmp/dummy/config/boot.rb
|
1166
|
-
- spec/integration/tmp/dummy/config/initializers/backtrace_silencers.rb
|
1167
|
-
- spec/integration/tmp/dummy/config/initializers/mime_types.rb
|
1168
|
-
- spec/integration/tmp/dummy/config/initializers/filter_parameter_logging.rb
|
1169
|
-
- spec/integration/tmp/dummy/config/initializers/session_store.rb
|
1170
|
-
- spec/integration/tmp/dummy/config/initializers/wrap_parameters.rb
|
1171
|
-
- spec/integration/tmp/dummy/config/initializers/assets.rb
|
1172
|
-
- spec/integration/tmp/dummy/config/initializers/cookies_serializer.rb
|
1173
|
-
- spec/integration/tmp/dummy/config/initializers/to_time_preserves_timezone.rb
|
1174
|
-
- spec/integration/tmp/dummy/config/initializers/inflections.rb
|
1175
|
-
- spec/integration/tmp/dummy/config.ru
|
1176
|
-
- spec/integration/tmp/dummy/Rakefile
|
1177
|
-
- spec/integration/tmp/dummy/public/favicon.ico
|
1178
|
-
- spec/integration/tmp/dummy/public/422.html
|
1179
|
-
- spec/integration/tmp/dummy/public/500.html
|
1180
|
-
- spec/integration/tmp/dummy/public/404.html
|
1181
|
-
- spec/integration/tmp/dummy/public/robots.txt
|
1182
|
-
- spec/integration/tmp/dummy/db/seeds.rb
|
1183
|
-
- spec/integration/tmp/dummy/Gemfile
|
1184
|
-
- spec/integration/tmp/dummy/README.rdoc
|
1185
|
-
- spec/integration/tmp/app/graphql/types/bird_type.rb
|
1091
|
+
- spec/integration/tmp/app/graphql/types/family_type.rb
|
1186
1092
|
- spec/integration/rails/spec_helper.rb
|
1187
1093
|
- spec/integration/rails/data.rb
|
1188
1094
|
- spec/integration/rails/graphql/tracing/active_support_notifications_tracing_spec.rb
|