Sha256: 265bc2b48c810f48e4d8836cc958145d38afee25b2e609163ce4788ee9987e0a
Contents?: true
Size: 1.08 KB
Versions: 15
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true # This module assumes you have `let(:query_string)` in your spec. # It provides `errors` which are the validation errors for that string, # as validated against `Dummy::Schema`. # You can override `schema` to provide another schema # @example testing static validation # include StaticValidationHelpers # let(:query_string) { " ... " } # it "validates" do # assert_equal(errors, [ ... ]) # assert_equal(error_messages, [ ... ]) # end module StaticValidationHelpers def errors @errors ||= begin target_schema = schema validator = GraphQL::StaticValidation::Validator.new(schema: target_schema) query = GraphQL::Query.new(target_schema, query_string) validator.validate(query)[:errors].map(&:to_h) end end def error_messages errors.map { |e| e["message"] } end def schema # without #graphql_definition call here #errors / #error_messages will reference a different schema object # than the one returned by schema so it's difficult to make changes in specs. Dummy::Schema.graphql_definition end end
Version data entries
15 entries across 15 versions & 1 rubygems