@@ -112,6 +112,9 @@ pub static FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA: &str = "
112112 type Query {
113113 human: Human
114114 }
115+ type Mutation {
116+ deletePetByName(name: String): Pet
117+ }
115118" ;
116119
117120#[ test]
@@ -213,6 +216,48 @@ fn ignores_fields_on_unknown_type() {
213216 assert_eq ! ( get_messages( & errors) . len( ) , 0 ) ;
214217}
215218
219+ #[ test]
220+ fn unknown_query_field ( ) {
221+ use crate :: validation:: test_utils:: * ;
222+
223+ let mut plan = create_plan_from_rule ( Box :: new ( FieldsOnCorrectType { } ) ) ;
224+ let errors = test_operation_with_schema (
225+ "query test {
226+ unknownField
227+ }" ,
228+ & FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA ,
229+ & mut plan,
230+ ) ;
231+
232+ let messages = get_messages ( & errors) ;
233+ assert_eq ! ( messages. len( ) , 1 ) ;
234+ assert_eq ! (
235+ messages,
236+ vec![ "Cannot query field \" unknownField\" on type \" Query\" ." ]
237+ ) ;
238+ }
239+
240+ #[ test]
241+ fn unknown_mutation_field ( ) {
242+ use crate :: validation:: test_utils:: * ;
243+
244+ let mut plan = create_plan_from_rule ( Box :: new ( FieldsOnCorrectType { } ) ) ;
245+ let errors = test_operation_with_schema (
246+ "mutation test {
247+ unknownField
248+ }" ,
249+ & FIELDS_ON_CORRECT_TYPE_TEST_SCHEMA ,
250+ & mut plan,
251+ ) ;
252+
253+ let messages = get_messages ( & errors) ;
254+ assert_eq ! ( messages. len( ) , 1 ) ;
255+ assert_eq ! (
256+ messages,
257+ vec![ "Cannot query field \" unknownField\" on type \" Mutation\" ." ]
258+ ) ;
259+ }
260+
216261#[ test]
217262fn reports_errors_when_type_is_known_again ( ) {
218263 use crate :: validation:: test_utils:: * ;
0 commit comments