Sha256: 9f4261c4e85255b61207b8798dbf76dbc97c46c2346b7cd1978de687cb45848a
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
require 'spec_helper' describe GraphQL::StaticValidation::FieldsHaveAppropriateSelections do let(:document) { GraphQL.parse(" query getCheese { okCheese: cheese(id: 1) { fatContent, similarCheeses(source: YAK) { source } } missingFieldsCheese: cheese(id: 1) illegalSelectionCheese: cheese(id: 1) { id { something, ... someFields } } } ")} let(:validator) { GraphQL::StaticValidation::Validator.new(schema: DummySchema, validators: [GraphQL::StaticValidation::FieldsHaveAppropriateSelections]) } let(:errors) { validator.validate(document) } it 'adds errors for selections on scalars' do assert_equal(2, errors.length) illegal_selection_error = { "message"=>"Selections can't be made on scalars (field 'id' returns Int but has selections [something, someFields])", "locations"=>[{"line"=>5, "column"=>47}] } assert_includes(errors, illegal_selection_error, 'finds illegal selections on scalarss') selection_required_error = { "message"=>"Objects must have selections (field 'cheese' returns Cheese but has no selections)", "locations"=>[{"line"=>4, "column"=>7}] } assert_includes(errors, selection_required_error, 'finds objects without selections') end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
graphql-0.2.0 | spec/graph_ql/static_validation/fields_have_appropriate_selections_spec.rb |