Adjust GraphQL helper to query empty fields
These adjustments make sure our GraphQL helpers support rendering queries for empty fields like this: { echo(text: "Hello world") } Instead of like this: { echo(text: "Hello world") { } } The latter would be an invalid query, causing parsing errors.
This commit is contained in:
parent
2e15494270
commit
ee4ba6ce38
|
@ -79,12 +79,21 @@ module GraphqlHelpers
|
|||
attributes = attributes_to_graphql(attributes)
|
||||
attributes = "(#{attributes})" if attributes.present?
|
||||
<<~QUERY
|
||||
#{name}#{attributes} {
|
||||
#{fields}
|
||||
}
|
||||
#{name}#{attributes}
|
||||
#{wrap_fields(fields)}
|
||||
QUERY
|
||||
end
|
||||
|
||||
def wrap_fields(fields)
|
||||
return unless fields.strip.present?
|
||||
|
||||
<<~FIELDS
|
||||
{
|
||||
#{fields}
|
||||
}
|
||||
FIELDS
|
||||
end
|
||||
|
||||
def all_graphql_fields_for(class_name, parent_types = Set.new)
|
||||
type = GitlabSchema.types[class_name.to_s]
|
||||
return "" unless type
|
||||
|
@ -116,8 +125,8 @@ module GraphqlHelpers
|
|||
end.join(", ")
|
||||
end
|
||||
|
||||
def post_graphql(query, current_user: nil, variables: nil)
|
||||
post api('/', current_user, version: 'graphql'), params: { query: query, variables: variables }
|
||||
def post_graphql(query, current_user: nil, variables: nil, headers: {})
|
||||
post api('/', current_user, version: 'graphql'), params: { query: query, variables: variables }, headers: headers
|
||||
end
|
||||
|
||||
def post_graphql_mutation(mutation, current_user: nil)
|
||||
|
|
Loading…
Reference in New Issue