class RSpec::GraphqlMatchers::AcceptArguments
Attributes
actual_field[R]
expected_args[R]
Public Class Methods
new(expected_args)
click to toggle source
# File lib/rspec/graphql_matchers/accept_arguments.rb, line 8 def initialize(expected_args) @expected_args = expected_args end
Public Instance Methods
description()
click to toggle source
# File lib/rspec/graphql_matchers/accept_arguments.rb, line 25 def description "accept arguments #{describe_arguments(expected_args)}" end
failure_message()
click to toggle source
# File lib/rspec/graphql_matchers/accept_arguments.rb, line 20 def failure_message "expected field '#{member_name(actual_field)}' to accept arguments "\ "#{describe_arguments(expected_args)}" end
matches?(actual_field)
click to toggle source
# File lib/rspec/graphql_matchers/accept_arguments.rb, line 12 def matches?(actual_field) @actual_field = actual_field @expected_args.all? do |arg_name, arg_type| matches_argument?(arg_name, arg_type) end end
Private Instance Methods
describe_arguments(what_args)
click to toggle source
# File lib/rspec/graphql_matchers/accept_arguments.rb, line 39 def describe_arguments(what_args) what_args.sort.map do |arg_name, arg_type| "#{arg_name}(#{arg_type})" end.join(', ') end
matches_argument?(arg_name, arg_type)
click to toggle source
# File lib/rspec/graphql_matchers/accept_arguments.rb, line 31 def matches_argument?(arg_name, arg_type) camel_arg_name = GraphQL::Schema::Member::BuildType.camelize(arg_name.to_s) actual_arg = actual_field.arguments[arg_name.to_s] actual_arg ||= actual_field.arguments[camel_arg_name] actual_arg && types_match?(actual_arg.type, arg_type) end