Skip to content

Commit c606fc9

Browse files
authored
Merge pull request #5581 from rmosolgo/next-operation-name
exec-next: Support operation_name: ...
2 parents 984c43b + 9df566f commit c606fc9

File tree

3 files changed

+21
-4
lines changed

3 files changed

+21
-4
lines changed

lib/graphql/execution/next.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ module GraphQL
88
module Execution
99
module Next
1010
module SchemaExtension
11-
def execute_next(query_str = nil, context: nil, document: nil, variables: nil, root_value: nil, validate: true, visibility_profile: nil)
11+
def execute_next(query_str = nil, context: nil, document: nil, operation_name: nil, variables: nil, root_value: nil, validate: true, visibility_profile: nil)
1212
multiplex_context = if context
1313
{
1414
backtrace: context[:backtrace],
@@ -27,6 +27,7 @@ def execute_next(query_str = nil, context: nil, document: nil, variables: nil, r
2727
validate: validate,
2828
variables: variables,
2929
root_value: root_value,
30+
operation_name: operation_name,
3031
visibility_profile: visibility_profile,
3132
}
3233
m_results = multiplex_next([query_opts], context: multiplex_context, max_complexity: nil)

spec/graphql/execution/interpreter_spec.rb

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -972,8 +972,16 @@ def variant
972972
end
973973

974974
describe "multiplex queries" do
975+
def exec_multiplex(...)
976+
if TESTING_EXEC_NEXT
977+
InterpreterTest::Schema.multiplex_next(...)
978+
else
979+
InterpreterTest::Schema.multiplex(...)
980+
end
981+
end
982+
975983
it "runs multiplex queries" do
976-
result = InterpreterTest::Schema.multiplex([
984+
result = exec_multiplex([
977985
{
978986
query: "query Card($name: String!) { card(name: $name) { colors } }",
979987
variables: { name: "Dark Confidant" },

spec/graphql/execution/next_spec.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,8 @@ def self.resolve_type(abs_type, obj, ctx)
133133
end
134134

135135

136-
def run_next(query_str, root_value: nil, variables: {})
137-
NextExecutionSchema.execute_next(query_str, context: {}, variables: variables, root_value: root_value)
136+
def run_next(...)
137+
NextExecutionSchema.execute_next(...)
138138
end
139139

140140
before do
@@ -247,6 +247,14 @@ def run_next(query_str, root_value: nil, variables: {})
247247
assert_graphql_equal(expected_result, result)
248248
end
249249

250+
it "runs a query by name" do
251+
result = run_next <<~GRAPHQL, operation_name: "A"
252+
query A { a: __typename }
253+
query B { b: __typename }
254+
GRAPHQL
255+
assert_equal({ "a" => "Query" }, result["data"])
256+
end
257+
250258
it "does scalar coercion" do
251259
result = run_next <<~GRAPHQL, variables: { input: { name: :Zucchini, family: "Curcurbits", grows_in: "🌻" }}
252260
mutation TestCoerce($input: CreatePlantInput!) {

0 commit comments

Comments
 (0)