@@ -246,15 +246,18 @@ describe('Execute: Handles basic execution tasks', () => {
246
246
247
247
it ( 'nulls out error subtrees' , async ( ) => {
248
248
var doc = `{
249
- sync,
250
- syncError,
251
- syncRawError,
252
- async,
253
- asyncReject,
254
- asyncRawReject,
255
- asyncEmptyReject,
256
- asyncError,
249
+ sync
250
+ syncError
251
+ syncRawError
252
+ syncReturnError
253
+ syncReturnErrorList
254
+ async
255
+ asyncReject
256
+ asyncRawReject
257
+ asyncEmptyReject
258
+ asyncError
257
259
asyncRawError
260
+ asyncReturnError
258
261
}` ;
259
262
260
263
var data = {
@@ -269,6 +272,17 @@ describe('Execute: Handles basic execution tasks', () => {
269
272
throw 'Error getting syncRawError' ;
270
273
/* eslint-enable */
271
274
} ,
275
+ syncReturnError ( ) {
276
+ return new Error ( 'Error getting syncReturnError' ) ;
277
+ } ,
278
+ syncReturnErrorList ( ) {
279
+ return [
280
+ 'sync0' ,
281
+ new Error ( 'Error getting syncReturnErrorList1' ) ,
282
+ 'sync2' ,
283
+ new Error ( 'Error getting syncReturnErrorList3' )
284
+ ] ;
285
+ } ,
272
286
async ( ) {
273
287
return new Promise ( resolve => resolve ( 'async' ) ) ;
274
288
} ,
@@ -294,7 +308,10 @@ describe('Execute: Handles basic execution tasks', () => {
294
308
throw 'Error getting asyncRawError' ;
295
309
/* eslint-enable */
296
310
} ) ;
297
- }
311
+ } ,
312
+ asyncReturnError ( ) {
313
+ return Promise . resolve ( new Error ( 'Error getting asyncReturnError' ) ) ;
314
+ } ,
298
315
} ;
299
316
300
317
let ast = parse ( doc ) ;
@@ -305,12 +322,15 @@ describe('Execute: Handles basic execution tasks', () => {
305
322
sync : { type : GraphQLString } ,
306
323
syncError : { type : GraphQLString } ,
307
324
syncRawError : { type : GraphQLString } ,
325
+ syncReturnError : { type : GraphQLString } ,
326
+ syncReturnErrorList : { type : new GraphQLList ( GraphQLString ) } ,
308
327
async : { type : GraphQLString } ,
309
328
asyncReject : { type : GraphQLString } ,
310
329
asyncRawReject : { type : GraphQLString } ,
311
330
asyncEmptyReject : { type : GraphQLString } ,
312
331
asyncError : { type : GraphQLString } ,
313
332
asyncRawError : { type : GraphQLString } ,
333
+ asyncReturnError : { type : GraphQLString } ,
314
334
}
315
335
} )
316
336
} ) ;
@@ -321,29 +341,40 @@ describe('Execute: Handles basic execution tasks', () => {
321
341
sync : 'sync' ,
322
342
syncError : null ,
323
343
syncRawError : null ,
344
+ syncReturnError : null ,
345
+ syncReturnErrorList : [ 'sync0' , null , 'sync2' , null ] ,
324
346
async : 'async' ,
325
347
asyncReject : null ,
326
348
asyncRawReject : null ,
327
349
asyncEmptyReject : null ,
328
350
asyncError : null ,
329
351
asyncRawError : null ,
352
+ asyncReturnError : null ,
330
353
} ) ;
331
354
332
355
expect ( result . errors && result . errors . map ( formatError ) ) . to . deep . equal ( [
333
356
{ message : 'Error getting syncError' ,
334
357
locations : [ { line : 3 , column : 7 } ] } ,
335
358
{ message : 'Error getting syncRawError' ,
336
359
locations : [ { line : 4 , column : 7 } ] } ,
337
- { message : 'Error getting asyncReject' ,
360
+ { message : 'Error getting syncReturnError' ,
361
+ locations : [ { line : 5 , column : 7 } ] } ,
362
+ { message : 'Error getting syncReturnErrorList1' ,
363
+ locations : [ { line : 6 , column : 7 } ] } ,
364
+ { message : 'Error getting syncReturnErrorList3' ,
338
365
locations : [ { line : 6 , column : 7 } ] } ,
366
+ { message : 'Error getting asyncReturnError' ,
367
+ locations : [ { line : 13 , column : 7 } ] } ,
368
+ { message : 'Error getting asyncReject' ,
369
+ locations : [ { line : 8 , column : 7 } ] } ,
339
370
{ message : 'Error getting asyncRawReject' ,
340
- locations : [ { line : 7 , column : 7 } ] } ,
371
+ locations : [ { line : 9 , column : 7 } ] } ,
341
372
{ message : 'An unknown error occurred.' ,
342
- locations : [ { line : 8 , column : 7 } ] } ,
373
+ locations : [ { line : 10 , column : 7 } ] } ,
343
374
{ message : 'Error getting asyncError' ,
344
- locations : [ { line : 9 , column : 7 } ] } ,
375
+ locations : [ { line : 11 , column : 7 } ] } ,
345
376
{ message : 'Error getting asyncRawError' ,
346
- locations : [ { line : 10 , column : 7 } ] } ,
377
+ locations : [ { line : 12 , column : 7 } ] } ,
347
378
] ) ;
348
379
} ) ;
349
380
0 commit comments