module GraphqlRails::RSpecControllerHelpers

provides all helpers neccesary for testing graphql controllers. It is similar to rspec controller specs

Adds 3 helper methods in to rspec test:

`mutation` and `query“ methods are identical

Usage: it 'works' do

mutation(:createUser, params: { name: 'John'}, context: { current_user_id: 1 })
expect(response).to be_successful?
expect(response)not_to be_failure?
expect(response.result).to be_a(User)
expect(response.errors).to be_empty

end

Public Instance Methods

mutation(*args, **kwargs) click to toggle source
# File lib/graphql_rails/rspec_controller_helpers.rb, line 112
def mutation(*args, **kwargs)
  query(*args, **kwargs)
end
query(query_name, params: {}, context: {}) click to toggle source
# File lib/graphql_rails/rspec_controller_helpers.rb, line 102
def query(query_name, params: {}, context: {})
  schema_builder = SingleControllerSchemaBuilder.new(described_class)
  context_object = FakeContext.new(values: context, schema: schema_builder.call)
  request = Request.new(params, context_object)
  described_class.new(request).call(query_name)

  @response = Response.new(request)
  @response
end
response() click to toggle source
# File lib/graphql_rails/rspec_controller_helpers.rb, line 116
def response
  @response
end