@@ -15,9 +15,9 @@ import {
15
15
} from '../rules/FieldsOnCorrectType' ;
16
16
17
17
18
- function undefinedField ( field , type , line , column ) {
18
+ function undefinedField ( field , type , suggestions , line , column ) {
19
19
return {
20
- message : undefinedFieldMessage ( field , type ) ,
20
+ message : undefinedFieldMessage ( field , type , suggestions ) ,
21
21
locations : [ { line, column } ] ,
22
22
} ;
23
23
}
@@ -84,8 +84,8 @@ describe('Validate: Fields on correct type', () => {
84
84
}
85
85
}
86
86
}` ,
87
- [ undefinedField ( 'unknown_pet_field' , 'Pet' , 3 , 9 ) ,
88
- undefinedField ( 'unknown_cat_field' , 'Cat' , 5 , 13 ) ]
87
+ [ undefinedField ( 'unknown_pet_field' , 'Pet' , [ ] , 3 , 9 ) ,
88
+ undefinedField ( 'unknown_cat_field' , 'Cat' , [ ] , 5 , 13 ) ]
89
89
) ;
90
90
} ) ;
91
91
@@ -94,7 +94,7 @@ describe('Validate: Fields on correct type', () => {
94
94
fragment fieldNotDefined on Dog {
95
95
meowVolume
96
96
}` ,
97
- [ undefinedField ( 'meowVolume' , 'Dog' , 3 , 9 ) ]
97
+ [ undefinedField ( 'meowVolume' , 'Dog' , [ ] , 3 , 9 ) ]
98
98
) ;
99
99
} ) ;
100
100
@@ -105,7 +105,7 @@ describe('Validate: Fields on correct type', () => {
105
105
deeper_unknown_field
106
106
}
107
107
}` ,
108
- [ undefinedField ( 'unknown_field' , 'Dog' , 3 , 9 ) ]
108
+ [ undefinedField ( 'unknown_field' , 'Dog' , [ ] , 3 , 9 ) ]
109
109
) ;
110
110
} ) ;
111
111
@@ -116,7 +116,7 @@ describe('Validate: Fields on correct type', () => {
116
116
unknown_field
117
117
}
118
118
}` ,
119
- [ undefinedField ( 'unknown_field' , 'Pet' , 4 , 11 ) ]
119
+ [ undefinedField ( 'unknown_field' , 'Pet' , [ ] , 4 , 11 ) ]
120
120
) ;
121
121
} ) ;
122
122
@@ -127,7 +127,7 @@ describe('Validate: Fields on correct type', () => {
127
127
meowVolume
128
128
}
129
129
}` ,
130
- [ undefinedField ( 'meowVolume' , 'Dog' , 4 , 11 ) ]
130
+ [ undefinedField ( 'meowVolume' , 'Dog' , [ ] , 4 , 11 ) ]
131
131
) ;
132
132
} ) ;
133
133
@@ -136,7 +136,7 @@ describe('Validate: Fields on correct type', () => {
136
136
fragment aliasedFieldTargetNotDefined on Dog {
137
137
volume : mooVolume
138
138
}` ,
139
- [ undefinedField ( 'mooVolume' , 'Dog' , 3 , 9 ) ]
139
+ [ undefinedField ( 'mooVolume' , 'Dog' , [ ] , 3 , 9 ) ]
140
140
) ;
141
141
} ) ;
142
142
@@ -145,7 +145,7 @@ describe('Validate: Fields on correct type', () => {
145
145
fragment aliasedLyingFieldTargetNotDefined on Dog {
146
146
barkVolume : kawVolume
147
147
}` ,
148
- [ undefinedField ( 'kawVolume' , 'Dog' , 3 , 9 ) ]
148
+ [ undefinedField ( 'kawVolume' , 'Dog' , [ ] , 3 , 9 ) ]
149
149
) ;
150
150
} ) ;
151
151
@@ -154,16 +154,16 @@ describe('Validate: Fields on correct type', () => {
154
154
fragment notDefinedOnInterface on Pet {
155
155
tailLength
156
156
}` ,
157
- [ undefinedField ( 'tailLength' , 'Pet' , 3 , 9 ) ]
157
+ [ undefinedField ( 'tailLength' , 'Pet' , [ ] , 3 , 9 ) ]
158
158
) ;
159
159
} ) ;
160
160
161
- it ( 'Defined on implmentors but not on interface' , ( ) => {
161
+ it ( 'Defined on implementors but not on interface' , ( ) => {
162
162
expectFailsRule ( FieldsOnCorrectType , `
163
163
fragment definedOnImplementorsButNotInterface on Pet {
164
164
nickname
165
165
}` ,
166
- [ undefinedField ( 'nickname' , 'Pet' , 3 , 9 ) ]
166
+ [ undefinedField ( 'nickname' , 'Pet' , [ 'Cat' , 'Dog' ] , 3 , 9 ) ]
167
167
) ;
168
168
} ) ;
169
169
@@ -180,7 +180,7 @@ describe('Validate: Fields on correct type', () => {
180
180
fragment directFieldSelectionOnUnion on CatOrDog {
181
181
directField
182
182
}` ,
183
- [ undefinedField ( 'directField' , 'CatOrDog' , 3 , 9 ) ]
183
+ [ undefinedField ( 'directField' , 'CatOrDog' , [ ] , 3 , 9 ) ]
184
184
) ;
185
185
} ) ;
186
186
@@ -189,7 +189,15 @@ describe('Validate: Fields on correct type', () => {
189
189
fragment definedOnImplementorsQueriedOnUnion on CatOrDog {
190
190
name
191
191
}` ,
192
- [ undefinedField ( 'name' , 'CatOrDog' , 3 , 9 ) ]
192
+ [
193
+ undefinedField (
194
+ 'name' ,
195
+ 'CatOrDog' ,
196
+ [ 'Being' , 'Pet' , 'Cat' , 'Dog' ] ,
197
+ 3 ,
198
+ 9
199
+ )
200
+ ]
193
201
) ;
194
202
} ) ;
195
203
0 commit comments