Sha256: 8d1014a901034f7d4584ca93c8c79ef0ebbb040183d73eeb993b586c725b86dd
Contents?: true
Size: 1.59 KB
Versions: 2
Compression:
Stored size: 1.59 KB
Contents
# frozen_string_literal: true require "spec_helper" describe GraphQL::Analysis::FieldUsage do let(:result) { [] } let(:field_usage_analyzer) { GraphQL::Analysis::FieldUsage.new { |query, used_fields, used_deprecated_fields| result << query << used_fields << used_deprecated_fields } } let(:reduce_result) { GraphQL::Analysis.analyze_query(query, [field_usage_analyzer]) } let(:query) { GraphQL::Query.new(DummySchema, query_string, variables: variables) } let(:variables) { {} } describe "query with deprecated fields" do let(:query_string) {%| query { cheese(id: 1) { id fatContent } } |} it "returns query in reduced result" do reduce_result assert_equal query, result[0] end it "keeps track of used fields" do reduce_result assert_equal ['Cheese.id', 'Cheese.fatContent', 'Query.cheese'], result[1] end it "keeps track of deprecated fields" do reduce_result assert_equal ['Cheese.fatContent'], result[2] end end describe "query with deprecated fields used more than once" do let(:query_string) {%| query { cheese1: cheese(id: 1) { id fatContent } cheese2: cheese(id: 2) { id fatContent } } |} it "omits duplicate usage of a field" do reduce_result assert_equal ['Cheese.id', 'Cheese.fatContent', 'Query.cheese'], result[1] end it "omits duplicate usage of a deprecated field" do reduce_result assert_equal ['Cheese.fatContent'], result[2] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
graphql-1.4.0 | spec/graphql/analysis/field_usage_spec.rb |
graphql-1.3.0 | spec/graphql/analysis/field_usage_spec.rb |