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
-
query
-
result
`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