@@ -39,25 +39,25 @@ const friends = [
39
39
40
40
const deeperObject = new GraphQLObjectType ( {
41
41
fields : {
42
- foo : { type : GraphQLString , resolve : ( ) => 'foo' } ,
43
- bar : { type : GraphQLString , resolve : ( ) => 'bar' } ,
44
- baz : { type : GraphQLString , resolve : ( ) => 'baz' } ,
45
- bak : { type : GraphQLString , resolve : ( ) => 'bak' } ,
42
+ foo : { type : GraphQLString } ,
43
+ bar : { type : GraphQLString } ,
44
+ baz : { type : GraphQLString } ,
45
+ bak : { type : GraphQLString } ,
46
46
} ,
47
47
name : 'DeeperObject' ,
48
48
} ) ;
49
49
50
50
const nestedObject = new GraphQLObjectType ( {
51
51
fields : {
52
- deeperObject : { type : deeperObject , resolve : ( ) => ( { } ) } ,
53
- name : { type : GraphQLString , resolve : ( ) => 'foo' } ,
52
+ deeperObject : { type : deeperObject } ,
53
+ name : { type : GraphQLString } ,
54
54
} ,
55
55
name : 'NestedObject' ,
56
56
} ) ;
57
57
58
58
const anotherNestedObject = new GraphQLObjectType ( {
59
59
fields : {
60
- deeperObject : { type : deeperObject , resolve : ( ) => ( { } ) } ,
60
+ deeperObject : { type : deeperObject } ,
61
61
} ,
62
62
name : 'AnotherNestedObject' ,
63
63
} ) ;
@@ -72,48 +72,38 @@ const hero = {
72
72
73
73
const c = new GraphQLObjectType ( {
74
74
fields : {
75
- d : { type : GraphQLString , resolve : ( ) => 'd' } ,
76
- nonNullErrorField : {
77
- type : new GraphQLNonNull ( GraphQLString ) ,
78
- resolve : ( ) => null ,
79
- } ,
80
- slowNonNullErrorField : {
81
- type : new GraphQLNonNull ( GraphQLString ) ,
82
- resolve : async ( ) => {
83
- await resolveOnNextTick ( ) ;
84
- return null ;
85
- } ,
86
- } ,
75
+ d : { type : GraphQLString } ,
76
+ nonNullErrorField : { type : new GraphQLNonNull ( GraphQLString ) } ,
87
77
} ,
88
78
name : 'c' ,
89
79
} ) ;
90
80
91
81
const e = new GraphQLObjectType ( {
92
82
fields : {
93
- f : { type : GraphQLString , resolve : ( ) => 'f' } ,
83
+ f : { type : GraphQLString } ,
94
84
} ,
95
85
name : 'e' ,
96
86
} ) ;
97
87
98
88
const b = new GraphQLObjectType ( {
99
89
fields : {
100
- c : { type : c , resolve : ( ) => ( { } ) } ,
101
- e : { type : e , resolve : ( ) => ( { } ) } ,
90
+ c : { type : c } ,
91
+ e : { type : e } ,
102
92
} ,
103
93
name : 'b' ,
104
94
} ) ;
105
95
106
96
const a = new GraphQLObjectType ( {
107
97
fields : {
108
- b : { type : b , resolve : ( ) => ( { } ) } ,
109
- someField : { type : GraphQLString , resolve : ( ) => 'someField' } ,
98
+ b : { type : b } ,
99
+ someField : { type : GraphQLString } ,
110
100
} ,
111
101
name : 'a' ,
112
102
} ) ;
113
103
114
104
const g = new GraphQLObjectType ( {
115
105
fields : {
116
- h : { type : GraphQLString , resolve : ( ) => 'h' } ,
106
+ h : { type : GraphQLString } ,
117
107
} ,
118
108
name : 'g' ,
119
109
} ) ;
@@ -137,8 +127,8 @@ const query = new GraphQLObjectType({
137
127
hero : {
138
128
type : heroType ,
139
129
} ,
140
- a : { type : a , resolve : ( ) => ( { } ) } ,
141
- g : { type : g , resolve : ( ) => ( { } ) } ,
130
+ a : { type : a } ,
131
+ g : { type : g } ,
142
132
} ,
143
133
name : 'Query' ,
144
134
} ) ;
@@ -782,7 +772,12 @@ describe('Execute: defer directive', () => {
782
772
}
783
773
}
784
774
` ) ;
785
- const result = await complete ( document ) ;
775
+ const result = await complete ( document , {
776
+ hero : {
777
+ nestedObject : { deeperObject : { foo : 'foo' , bar : 'bar' } } ,
778
+ anotherNestedObject : { deeperObject : { foo : 'foo' } } ,
779
+ } ,
780
+ } ) ;
786
781
expectJSON ( result ) . toDeepEqual ( [
787
782
{
788
783
data : {
@@ -842,7 +837,9 @@ describe('Execute: defer directive', () => {
842
837
}
843
838
}
844
839
` ) ;
845
- const result = await complete ( document ) ;
840
+ const result = await complete ( document , {
841
+ hero : { nestedObject : { deeperObject : { foo : 'foo' , bar : 'bar' } } } ,
842
+ } ) ;
846
843
expectJSON ( result ) . toDeepEqual ( [
847
844
{
848
845
data : {
@@ -913,7 +910,13 @@ describe('Execute: defer directive', () => {
913
910
}
914
911
}
915
912
` ) ;
916
- const result = await complete ( document ) ;
913
+ const result = await complete ( document , {
914
+ hero : {
915
+ nestedObject : {
916
+ deeperObject : { foo : 'foo' , bar : 'bar' , baz : 'baz' , bak : 'bak' } ,
917
+ } ,
918
+ } ,
919
+ } ) ;
917
920
expectJSON ( result ) . toDeepEqual ( [
918
921
{
919
922
data : {
@@ -999,7 +1002,9 @@ describe('Execute: defer directive', () => {
999
1002
}
1000
1003
}
1001
1004
` ) ;
1002
- const result = await complete ( document ) ;
1005
+ const result = await complete ( document , {
1006
+ hero : { nestedObject : { deeperObject : { foo : 'foo' , bar : 'bar' } } } ,
1007
+ } ) ;
1003
1008
expectJSON ( result ) . toDeepEqual ( [
1004
1009
{
1005
1010
data : {
@@ -1074,7 +1079,15 @@ describe('Execute: defer directive', () => {
1074
1079
}
1075
1080
}
1076
1081
` ) ;
1077
- const result = await complete ( document ) ;
1082
+ const result = await complete ( document , {
1083
+ a : {
1084
+ b : {
1085
+ c : { d : 'd' } ,
1086
+ e : { f : 'f' } ,
1087
+ } ,
1088
+ } ,
1089
+ g : { h : 'h' } ,
1090
+ } ) ;
1078
1091
expectJSON ( result ) . toDeepEqual ( [
1079
1092
{
1080
1093
data : {
@@ -1143,7 +1156,9 @@ describe('Execute: defer directive', () => {
1143
1156
}
1144
1157
}
1145
1158
` ) ;
1146
- const result = await complete ( document ) ;
1159
+ const result = await complete ( document , {
1160
+ a : { b : { c : { d : 'd' } } , someField : 'someField' } ,
1161
+ } ) ;
1147
1162
expectJSON ( result ) . toDeepEqual ( [
1148
1163
{
1149
1164
data : {
@@ -1212,7 +1227,12 @@ describe('Execute: defer directive', () => {
1212
1227
}
1213
1228
}
1214
1229
` ) ;
1215
- const result = await complete ( document ) ;
1230
+ const result = await complete ( document , {
1231
+ a : {
1232
+ b : { c : { d : 'd' } , nonNullErrorFIeld : null } ,
1233
+ someField : 'someField' ,
1234
+ } ,
1235
+ } ) ;
1216
1236
expectJSON ( result ) . toDeepEqual ( [
1217
1237
{
1218
1238
data : {
@@ -1265,7 +1285,7 @@ describe('Execute: defer directive', () => {
1265
1285
someField
1266
1286
b {
1267
1287
c {
1268
- slowNonNullErrorField
1288
+ nonNullErrorField
1269
1289
}
1270
1290
}
1271
1291
}
@@ -1281,7 +1301,20 @@ describe('Execute: defer directive', () => {
1281
1301
}
1282
1302
}
1283
1303
` ) ;
1284
- const result = await complete ( document ) ;
1304
+ const result = await complete ( document , {
1305
+ a : {
1306
+ b : {
1307
+ c : {
1308
+ d : 'd' ,
1309
+ nonNullErrorField : async ( ) => {
1310
+ await resolveOnNextTick ( ) ;
1311
+ return null ;
1312
+ } ,
1313
+ } ,
1314
+ } ,
1315
+ someField : 'someField' ,
1316
+ } ,
1317
+ } ) ;
1285
1318
expectJSON ( result ) . toDeepEqual ( [
1286
1319
{
1287
1320
data : {
@@ -1318,9 +1351,9 @@ describe('Execute: defer directive', () => {
1318
1351
errors : [
1319
1352
{
1320
1353
message :
1321
- 'Cannot return null for non-nullable field c.slowNonNullErrorField .' ,
1354
+ 'Cannot return null for non-nullable field c.nonNullErrorField .' ,
1322
1355
locations : [ { line : 8 , column : 17 } ] ,
1323
- path : [ 'a' , 'b' , 'c' , 'slowNonNullErrorField ' ] ,
1356
+ path : [ 'a' , 'b' , 'c' , 'nonNullErrorField ' ] ,
1324
1357
} ,
1325
1358
] ,
1326
1359
path : [ ] ,
@@ -1677,8 +1710,7 @@ describe('Execute: defer directive', () => {
1677
1710
` ) ;
1678
1711
const result = await complete ( document , {
1679
1712
hero : {
1680
- ...hero ,
1681
- nestedObject : ( ) => Promise . resolve ( { } ) ,
1713
+ nestedObject : ( ) => Promise . resolve ( { name : 'foo' } ) ,
1682
1714
} ,
1683
1715
} ) ;
1684
1716
expectJSON ( result ) . toDeepEqual ( [
0 commit comments