33from utils import expect_passes_rule , expect_fails_rule
44
55
6- def error (field , type , line , column ):
6+ def undefined_field (field , type , line , column ):
77 return {
88 'message' : FieldsOnCorrectType .undefined_field_message (field , type ),
99 'locations' : [SourceLocation (line , column )]
@@ -66,7 +66,9 @@ def test_field_not_defined_on_fragment():
6666 fragment fieldNotDefined on Dog {
6767 meowVolume
6868 }
69- ''' , [error ('meowVolume' , 'Dog' , 3 , 9 )])
69+ ''' , [
70+ undefined_field ('meowVolume' , 'Dog' , 3 , 9 )
71+ ])
7072
7173
7274def test_field_not_defined_deeply_only_reports_first ():
@@ -76,7 +78,9 @@ def test_field_not_defined_deeply_only_reports_first():
7678 deeper_unknown_field
7779 }
7880 }
79- ''' , [error ('unknown_field' , 'Dog' , 3 , 9 )])
81+ ''' , [
82+ undefined_field ('unknown_field' , 'Dog' , 3 , 9 )
83+ ])
8084
8185
8286def test_sub_field_not_defined ():
@@ -86,7 +90,9 @@ def test_sub_field_not_defined():
8690 unknown_field
8791 }
8892 }
89- ''' , [error ('unknown_field' , 'Pet' , 4 , 11 )])
93+ ''' , [
94+ undefined_field ('unknown_field' , 'Pet' , 4 , 11 )
95+ ])
9096
9197
9298def test_field_not_defined_on_inline_fragment ():
@@ -96,39 +102,49 @@ def test_field_not_defined_on_inline_fragment():
96102 meowVolume
97103 }
98104 }
99- ''' , [error ('meowVolume' , 'Dog' , 4 , 11 )])
105+ ''' , [
106+ undefined_field ('meowVolume' , 'Dog' , 4 , 11 )
107+ ])
100108
101109
102110def test_aliased_field_target_not_defined ():
103111 expect_fails_rule (FieldsOnCorrectType , '''
104112 fragment aliasedFieldTargetNotDefined on Dog {
105113 volume : mooVolume
106114 }
107- ''' , [error ('mooVolume' , 'Dog' , 3 , 9 )])
115+ ''' , [
116+ undefined_field ('mooVolume' , 'Dog' , 3 , 9 )
117+ ])
108118
109119
110120def test_aliased_lying_field_target_not_defined ():
111121 expect_fails_rule (FieldsOnCorrectType , '''
112122 fragment aliasedLyingFieldTargetNotDefined on Dog {
113123 barkVolume : kawVolume
114124 }
115- ''' , [error ('kawVolume' , 'Dog' , 3 , 9 )])
125+ ''' , [
126+ undefined_field ('kawVolume' , 'Dog' , 3 , 9 )
127+ ])
116128
117129
118130def test_not_defined_on_interface ():
119131 expect_fails_rule (FieldsOnCorrectType , '''
120132 fragment notDefinedOnInterface on Pet {
121133 tailLength
122134 }
123- ''' , [error ('tailLength' , 'Pet' , 3 , 9 )])
135+ ''' , [
136+ undefined_field ('tailLength' , 'Pet' , 3 , 9 )
137+ ])
124138
125139
126140def test_defined_on_implementors_but_not_on_interface ():
127141 expect_fails_rule (FieldsOnCorrectType , '''
128142 fragment definedOnImplementorsButNotInterface on Pet {
129143 nickname
130144 }
131- ''' , [error ('nickname' , 'Pet' , 3 , 9 )])
145+ ''' , [
146+ undefined_field ('nickname' , 'Pet' , 3 , 9 )
147+ ])
132148
133149
134150def test_meta_field_selection_on_union ():
@@ -144,15 +160,19 @@ def test_direct_field_selection_on_union():
144160 fragment directFieldSelectionOnUnion on CatOrDog {
145161 directField
146162 }
147- ''' , [error ('directField' , 'CatOrDog' , 3 , 9 )])
163+ ''' , [
164+ undefined_field ('directField' , 'CatOrDog' , 3 , 9 )
165+ ])
148166
149167
150168def test_defined_on_implementors_queried_on_union ():
151169 expect_fails_rule (FieldsOnCorrectType , '''
152170 fragment definedOnImplementorsQueriedOnUnion on CatOrDog {
153171 name
154172 }
155- ''' , [error ('name' , 'CatOrDog' , 3 , 9 )])
173+ ''' , [
174+ undefined_field ('name' , 'CatOrDog' , 3 , 9 )
175+ ])
156176
157177
158178def test_valid_field_in_inline_fragment ():
0 commit comments