@@ -212,61 +212,103 @@ describe('Execute: handles directives', () => {
212
212
} ) ;
213
213
} ) ;
214
214
215
- describe ( 'works on fragment' , ( ) => {
216
- it ( 'if false omits fragment' , async ( ) => {
215
+ describe ( 'works on anonymous inline fragment' , ( ) => {
216
+ it ( 'if false omits anonymous inline fragment' , async ( ) => {
217
217
var q = `
218
218
query Q {
219
219
a
220
- ...Frag
220
+ ... @include(if: false) {
221
+ b
222
+ }
221
223
}
222
- fragment Frag on TestType @include(if: false) {
223
- b
224
+ ` ;
225
+ return expect ( await executeTestQuery ( q ) ) . to . deep . equal ( {
226
+ data : { a : 'a' }
227
+ } ) ;
228
+ } ) ;
229
+
230
+ it ( 'if true includes anonymous inline fragment' , async ( ) => {
231
+ var q = `
232
+ query Q {
233
+ a
234
+ ... @include(if: true) {
235
+ b
236
+ }
237
+ }
238
+ ` ;
239
+ return expect ( await executeTestQuery ( q ) ) . to . deep . equal ( {
240
+ data : { a : 'a' , b : 'b' }
241
+ } ) ;
242
+ } ) ;
243
+ it ( 'unless false includes anonymous inline fragment' , async ( ) => {
244
+ var q = `
245
+ query Q {
246
+ a
247
+ ... @skip(if: false) {
248
+ b
249
+ }
250
+ }
251
+ ` ;
252
+ return expect ( await executeTestQuery ( q ) ) . to . deep . equal ( {
253
+ data : { a : 'a' , b : 'b' }
254
+ } ) ;
255
+ } ) ;
256
+ it ( 'unless true includes anonymous inline fragment' , async ( ) => {
257
+ var q = `
258
+ query Q {
259
+ a
260
+ ... @skip(if: true) {
261
+ b
262
+ }
224
263
}
225
264
` ;
226
265
return expect ( await executeTestQuery ( q ) ) . to . deep . equal ( {
227
266
data : { a : 'a' }
228
267
} ) ;
229
268
} ) ;
230
- it ( 'if true includes fragment' , async ( ) => {
269
+ } ) ;
270
+
271
+ describe ( 'works on fragment' , ( ) => {
272
+ it ( 'if false omits fragment' , async ( ) => {
231
273
var q = `
232
274
query Q {
233
275
a
234
276
...Frag
235
277
}
236
- fragment Frag on TestType @include(if: true ) {
278
+ fragment Frag on TestType @include(if: false ) {
237
279
b
238
280
}
239
281
` ;
240
282
return expect ( await executeTestQuery ( q ) ) . to . deep . equal ( {
241
- data : { a : 'a' , b : 'b' }
283
+ data : { a : 'a' }
242
284
} ) ;
243
285
} ) ;
244
- it ( 'unless false includes fragment' , async ( ) => {
286
+ it ( 'if true includes fragment' , async ( ) => {
245
287
var q = `
246
288
query Q {
247
289
a
248
290
...Frag
249
291
}
250
- fragment Frag on TestType @skip (if: false ) {
292
+ fragment Frag on TestType @include (if: true ) {
251
293
b
252
294
}
253
295
` ;
254
296
return expect ( await executeTestQuery ( q ) ) . to . deep . equal ( {
255
297
data : { a : 'a' , b : 'b' }
256
298
} ) ;
257
299
} ) ;
258
- it ( 'unless true omits fragment' , async ( ) => {
300
+ it ( 'unless false includes fragment' , async ( ) => {
259
301
var q = `
260
302
query Q {
261
303
a
262
304
...Frag
263
305
}
264
- fragment Frag on TestType @skip(if: true ) {
306
+ fragment Frag on TestType @skip(if: false ) {
265
307
b
266
308
}
267
309
` ;
268
310
return expect ( await executeTestQuery ( q ) ) . to . deep . equal ( {
269
- data : { a : 'a' }
311
+ data : { a : 'a' , b : 'b' }
270
312
} ) ;
271
313
} ) ;
272
314
} ) ;
0 commit comments