Testing GraphQL 1.3.0 in Travis

This commit is contained in:
Alberto Miedes Garcés
2017-01-12 20:11:47 +01:00
parent d1f14ffb93
commit 7a9373942a
5 changed files with 41 additions and 22 deletions

View File

@@ -65,7 +65,7 @@ gem 'browser'
gem 'turnout', '~> 2.4.0'
gem 'redcarpet'
gem 'graphql'
gem 'graphql', '~> 1.3.0'
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console

View File

@@ -178,7 +178,7 @@ GEM
activesupport (>= 4.1.0)
graphiql-rails (1.3.0)
rails
graphql (0.18.11)
graphql (1.3.0)
groupdate (3.1.1)
activesupport (>= 3)
gyoku (1.3.1)
@@ -484,7 +484,7 @@ DEPENDENCIES
foundation_rails_helper (~> 2.0.0)
fuubar
graphiql-rails
graphql
graphql (~> 1.3.0)
groupdate (~> 3.1.0)
i18n-tasks
initialjs-rails (= 0.2.0.4)

View File

@@ -8,8 +8,25 @@ class GraphqlController < ApplicationController
def query
begin
# ------------------------------------------------------------------------
api_types_creator = GraphQL::ApiTypesCreator.new(API_TYPE_DEFINITIONS)
created_api_types = api_types_creator.create
query_type_creator = GraphQL::QueryTypeCreator.new(created_api_types)
query_type = query_type_creator.create
consul_schema = GraphQL::Schema.define do
query query_type
max_depth 12
resolve_type -> (object, ctx) do
type_name = object.class.name # look up types by class name
ConsulSchema.types[type_name]
end
end
# ------------------------------------------------------------------------
set_query_environment
response = ConsulSchema.execute query_string, variables: query_variables
response = consul_schema.execute query_string, variables: query_variables
render json: response, status: :ok
rescue GraphqlController::QueryStringError
render json: { message: 'Query string not present' }, status: :bad_request

View File

@@ -1,18 +1,2 @@
api_config = YAML.load_file('./config/api.yml')
api_type_definitions = GraphQL::ApiTypesCreator::parse_api_config_file(api_config)
api_types_creator = GraphQL::ApiTypesCreator.new(api_type_definitions)
created_api_types = api_types_creator.create
query_type_creator = GraphQL::QueryTypeCreator.new(created_api_types)
QueryType = query_type_creator.create
ConsulSchema = GraphQL::Schema.define do
query QueryType
max_depth 12
resolve_type -> (object, ctx) do
type_name = object.class.name # look up types by class name
ConsulSchema.types[type_name]
end
end
API_TYPE_DEFINITIONS = GraphQL::ApiTypesCreator::parse_api_config_file(api_config)

View File

@@ -1,5 +1,23 @@
require 'rails_helper'
# ------------------------------------------------------------------------------
api_types_creator = GraphQL::ApiTypesCreator.new(API_TYPE_DEFINITIONS)
created_api_types = api_types_creator.create
query_type_creator = GraphQL::QueryTypeCreator.new(created_api_types)
QueryType = query_type_creator.create
ConsulSchema = GraphQL::Schema.define do
query QueryType
max_depth 12
resolve_type -> (object, ctx) do
type_name = object.class.name # look up types by class name
ConsulSchema.types[type_name]
end
end
# ------------------------------------------------------------------------------
def execute(query_string, context = {}, variables = {})
ConsulSchema.execute(query_string, context: context, variables: variables)
end
@@ -14,7 +32,7 @@ def hidden_field?(response, field_name)
data_is_empty && error_is_present
end
describe ConsulSchema do
describe 'ConsulSchema' do
let(:user) { create(:user) }
let(:proposal) { create(:proposal, author: user) }