@@ -150,12 +150,9 @@ public void queryOneToManyJoinByID() {
150
150
//given:
151
151
String query = "query { Humans(where:{id:{EQ: \" 1000\" }}) { select {name, homePlanet, friends { name } } }}" ;
152
152
153
-
154
153
String expected = "{Humans={select=["
155
- + "{name=Luke Skywalker, homePlanet=Tatooine, friends=[{name=R2-D2}, {name=C-3PO}, {name=Han Solo}, {name=Leia Organa}]}"
156
- + "]}}" ;
157
-
158
-
154
+ + "{name=Luke Skywalker, homePlanet=Tatooine, friends=[{name=C-3PO}, {name=Han Solo}, {name=Leia Organa}, {name=R2-D2}]}"
155
+ + "]}}" ;
159
156
160
157
//when:
161
158
Object result = executor .execute (query ).getData ();
@@ -233,10 +230,10 @@ public void queryDeepNesting() {
233
230
String query = "query { Droid(id: \" 2001\" ) { name, friends { name, appearsIn, friends { name } } } }" ;
234
231
235
232
String expected = "{Droid={name=R2-D2, friends=["
236
- + "{name=Han Solo, appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=R2-D2 }, {name=Leia Organa }, {name=Luke Skywalker }]}, "
237
- + "{name=Luke Skywalker , appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=R2-D2 }, {name=C-3PO }, {name=Han Solo }, {name=Leia Organa }]}, "
238
- + "{name=Leia Organa , appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=R2-D2 }, {name=C-3PO }, {name=Han Solo }, {name=Luke Skywalker }]}"
239
- + "]}}" ;
233
+ + "{name=Han Solo, appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=Leia Organa }, {name=Luke Skywalker }, {name=R2-D2 }]}, "
234
+ + "{name=Leia Organa , appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=C-3PO }, {name=Han Solo }, {name=Luke Skywalker }, {name=R2-D2 }]}, "
235
+ + "{name=Luke Skywalker , appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=C-3PO }, {name=Han Solo }, {name=Leia Organa }, {name=R2-D2 }]}"
236
+ + "]}}" ;
240
237
241
238
//when:
242
239
Object result = executor .execute (query ).getData ();
@@ -252,11 +249,11 @@ public void queryDeepNestingPlural() {
252
249
String query = "query { Droids(where: {id: {EQ: \" 2001\" }}) { select { name, friends { name, appearsIn, friends { name } } } }}" ;
253
250
254
251
String expected = "{Droids={select=[{name=R2-D2, friends=["
255
- + "{name=Han Solo, appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=R2-D2 }, {name=Leia Organa }, {name=Luke Skywalker }]}, "
256
- + "{name=Luke Skywalker , appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=R2-D2 }, {name=C-3PO }, {name=Han Solo }, {name=Leia Organa }]}, "
257
- + "{name=Leia Organa , appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=R2-D2 }, {name=C-3PO }, {name=Han Solo }, {name=Luke Skywalker }]}"
258
- + "]} "
259
- + "]}}" ;
252
+ + "{name=Han Solo, appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=Leia Organa }, {name=Luke Skywalker }, {name=R2-D2 }]}, "
253
+ + "{name=Leia Organa , appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=C-3PO }, {name=Han Solo }, {name=Luke Skywalker }, {name=R2-D2 }]}, "
254
+ + "{name=Luke Skywalker , appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=C-3PO }, {name=Han Solo }, {name=Leia Organa }, {name=R2-D2 }]}"
255
+ + "]"
256
+ + "} ]}}" ;
260
257
261
258
//when:
262
259
Object result = executor .execute (query ).getData ();
@@ -298,6 +295,25 @@ public void queryWhereRoot() {
298
295
//then:
299
296
assertThat (result .toString ()).isEqualTo (expected );
300
297
}
298
+
299
+ @ Test
300
+ public void queryWhereRootPagedWithVariables () {
301
+ //given:
302
+ String query = "query($start: Int, $limit: Int) { Humans( page: { start: $start, limit: $limit }) { pages, total, select { name } } }" ;
303
+ Map <String , Object > variables = new HashMap <String , Object >() {{
304
+ put ("start" , 1 );
305
+ put ("limit" , 2 );
306
+ }};
307
+
308
+
309
+ String expected = "{Humans={pages=3, total=5, select=[{name=Luke Skywalker}, {name=Darth Vader}]}}" ;
310
+
311
+ //when:
312
+ Object result = executor .execute (query ,variables ).getData ();
313
+
314
+ //then:
315
+ assertThat (result .toString ()).isEqualTo (expected );
316
+ }
301
317
302
318
@ Test
303
319
public void queryPaginationWithoutRecords () {
@@ -513,12 +529,10 @@ public void queryWithTypenameDeepNesting() {
513
529
String query = "query { Droid(id: \" 2001\" ) { name, friends { name, appearsIn, friends { name __typename } __typename } __typename } }" ;
514
530
515
531
String expected = "{Droid={name=R2-D2, friends=["
516
- + "{name=Han Solo, appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=R2-D2, __typename=Character}, "
517
- + "{name=Leia Organa, __typename=Character}, {name=Luke Skywalker, __typename=Character}], __typename=Character}, "
518
- + "{name=Luke Skywalker, appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=R2-D2, __typename=Character}, {name=C-3PO, __typename=Character}, {name=Han Solo, __typename=Character}, {name=Leia Organa, __typename=Character}], __typename=Character}, {name=Leia Organa, appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=R2-D2, __typename=Character}, {name=C-3PO, __typename=Character}, {name=Han Solo, __typename=Character}, {name=Luke Skywalker, __typename=Character}], __typename=Character}], "
519
- + "__typename=Droid}}" ;
532
+ + "{name=Han Solo, appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=Leia Organa, __typename=Character}, {name=Luke Skywalker, __typename=Character}, {name=R2-D2, __typename=Character}], __typename=Character}, "
533
+ + "{name=Leia Organa, appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=C-3PO, __typename=Character}, {name=Han Solo, __typename=Character}, {name=Luke Skywalker, __typename=Character}, {name=R2-D2, __typename=Character}], __typename=Character}, "
534
+ + "{name=Luke Skywalker, appearsIn=[A_NEW_HOPE, EMPIRE_STRIKES_BACK, RETURN_OF_THE_JEDI, THE_FORCE_AWAKENS], friends=[{name=C-3PO, __typename=Character}, {name=Han Solo, __typename=Character}, {name=Leia Organa, __typename=Character}, {name=R2-D2, __typename=Character}], __typename=Character}], __typename=Droid}}" ;
520
535
521
-
522
536
//when:
523
537
Object result = executor .execute (query ).getData ();
524
538
0 commit comments