Commit 8738a833 authored by Alex Kalderimis's avatar Alex Kalderimis

Improves the graphql_helpers used in GraphQL tests

This improves the graphql test helpers, failing earlier and more
explicitly.
parent ab509c78
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
module GraphqlHelpers module GraphqlHelpers
MutationDefinition = Struct.new(:query, :variables) MutationDefinition = Struct.new(:query, :variables)
NoData = Class.new(StandardError)
# makes an underscored string look like a fieldname # makes an underscored string look like a fieldname
# "merge_request" => "mergeRequest" # "merge_request" => "mergeRequest"
def self.fieldnamerize(underscored_field_name) def self.fieldnamerize(underscored_field_name)
...@@ -158,8 +160,9 @@ module GraphqlHelpers ...@@ -158,8 +160,9 @@ module GraphqlHelpers
post_graphql(mutation.query, current_user: current_user, variables: mutation.variables) post_graphql(mutation.query, current_user: current_user, variables: mutation.variables)
end end
# Raises an error if no data is found
def graphql_data def graphql_data
json_response['data'] json_response['data'] || (raise NoData, graphql_errors)
end end
def graphql_errors def graphql_errors
...@@ -173,8 +176,9 @@ module GraphqlHelpers ...@@ -173,8 +176,9 @@ module GraphqlHelpers
end end
end end
# Raises an error if no response is found
def graphql_mutation_response(mutation_name) def graphql_mutation_response(mutation_name)
graphql_data[GraphqlHelpers.fieldnamerize(mutation_name)] graphql_data.fetch(GraphqlHelpers.fieldnamerize(mutation_name))
end end
def nested_fields?(field) def nested_fields?(field)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment