@@ -14,7 +14,8 @@ import (
14
14
func TestRequestOptions_GET_BasicQueryString (t * testing.T ) {
15
15
queryString := "query=query RebelsShipsQuery { rebels { name } }"
16
16
expected := & RequestOptions {
17
- Query : "query RebelsShipsQuery { rebels { name } }" ,
17
+ Query : "query RebelsShipsQuery { rebels { name } }" ,
18
+ Variables : make (map [string ]interface {}),
18
19
}
19
20
20
21
req , _ := http .NewRequest ("GET" , fmt .Sprintf ("/graphql?%v" , queryString ), nil )
@@ -69,7 +70,8 @@ func TestRequestOptions_GET_ContentTypeApplicationUrlEncoded(t *testing.T) {
69
70
func TestRequestOptions_POST_BasicQueryString_WithNoBody (t * testing.T ) {
70
71
queryString := "query=query RebelsShipsQuery { rebels { name } }"
71
72
expected := & RequestOptions {
72
- Query : "query RebelsShipsQuery { rebels { name } }" ,
73
+ Query : "query RebelsShipsQuery { rebels { name } }" ,
74
+ Variables : make (map [string ]interface {}),
73
75
}
74
76
75
77
req , _ := http .NewRequest ("POST" , fmt .Sprintf ("/graphql?%v" , queryString ), nil )
@@ -150,6 +152,27 @@ func TestRequestOptions_POST_ContentTypeApplicationJSON(t *testing.T) {
150
152
t .Fatalf ("wrong result, graphql result diff: %v" , testutil .Diff (expected , result ))
151
153
}
152
154
}
155
+
156
+ func TestRequestOptions_GET_WithVariablesAsObject (t * testing.T ) {
157
+ variables := url .QueryEscape (`{ "a": 1, "b": "2" }` )
158
+ query := url .QueryEscape ("query RebelsShipsQuery { rebels { name } }" )
159
+ queryString := fmt .Sprintf ("query=%s&variables=%s" , query , variables )
160
+ expected := & RequestOptions {
161
+ Query : "query RebelsShipsQuery { rebels { name } }" ,
162
+ Variables : map [string ]interface {}{
163
+ "a" : float64 (1 ),
164
+ "b" : "2" ,
165
+ },
166
+ }
167
+
168
+ req , _ := http .NewRequest ("GET" , fmt .Sprintf ("/graphql?%v" , queryString ), nil )
169
+ result := NewRequestOptions (req )
170
+
171
+ if ! reflect .DeepEqual (result , expected ) {
172
+ t .Fatalf ("wrong result, graphql result diff: %v" , testutil .Diff (expected , result ))
173
+ }
174
+ }
175
+
153
176
func TestRequestOptions_POST_ContentTypeApplicationJSON_WithVariablesAsObject (t * testing.T ) {
154
177
body := `
155
178
{
@@ -223,7 +246,8 @@ func TestRequestOptions_POST_ContentTypeApplicationUrlEncoded(t *testing.T) {
223
246
data .Add ("query" , "query RebelsShipsQuery { rebels { name } }" )
224
247
225
248
expected := & RequestOptions {
226
- Query : "query RebelsShipsQuery { rebels { name } }" ,
249
+ Query : "query RebelsShipsQuery { rebels { name } }" ,
250
+ Variables : make (map [string ]interface {}),
227
251
}
228
252
229
253
req , _ := http .NewRequest ("POST" , "/graphql" , bytes .NewBufferString (data .Encode ()))
@@ -263,7 +287,8 @@ func TestRequestOptions_POST_ContentTypeApplicationUrlEncoded_WithNilBody(t *tes
263
287
func TestRequestOptions_PUT_BasicQueryString (t * testing.T ) {
264
288
queryString := "query=query RebelsShipsQuery { rebels { name } }"
265
289
expected := & RequestOptions {
266
- Query : "query RebelsShipsQuery { rebels { name } }" ,
290
+ Query : "query RebelsShipsQuery { rebels { name } }" ,
291
+ Variables : make (map [string ]interface {}),
267
292
}
268
293
269
294
req , _ := http .NewRequest ("PUT" , fmt .Sprintf ("/graphql?%v" , queryString ), nil )
@@ -318,7 +343,8 @@ func TestRequestOptions_PUT_ContentTypeApplicationUrlEncoded(t *testing.T) {
318
343
func TestRequestOptions_DELETE_BasicQueryString (t * testing.T ) {
319
344
queryString := "query=query RebelsShipsQuery { rebels { name } }"
320
345
expected := & RequestOptions {
321
- Query : "query RebelsShipsQuery { rebels { name } }" ,
346
+ Query : "query RebelsShipsQuery { rebels { name } }" ,
347
+ Variables : make (map [string ]interface {}),
322
348
}
323
349
324
350
req , _ := http .NewRequest ("DELETE" , fmt .Sprintf ("/graphql?%v" , queryString ), nil )
0 commit comments