11package com .shopify .graphql .support ;
22
3+ import junit .framework .Assert ;
4+
35import java .time .LocalDate ;
46import java .time .LocalDateTime ;
7+ import java .util .ArrayList ;
58import java .util .Arrays ;
69import java .util .List ;
710
@@ -20,13 +23,13 @@ public void testStringFieldQuery() throws Exception {
2023 @ Test
2124 public void testRequiredArgQuery () throws Exception {
2225 String queryString = Generated .query (query -> query .string ("user:1:name" )).toString ();
23- assertEquals ("{string(key:\" user:1:name\" )}" , queryString );
26+ assertEquals ("query {string(key:\" user:1:name\" )}" , queryString );
2427 }
2528
2629 @ Test
2730 public void testOptionalArgQuery () throws Exception {
2831 String queryString = Generated .query (query -> query .keys (10 , args -> args .after ("cursor" ))).toString ();
29- assertEquals ("{keys(first:10,after:\" cursor\" )}" , queryString );
32+ assertEquals ("query {keys(first:10,after:\" cursor\" )}" , queryString );
3033 }
3134
3235 @ Test
@@ -37,7 +40,7 @@ public void testInterfaceQuery() throws Exception {
3740 .onStringEntry (strEntry -> strEntry .value ())
3841 )
3942 ).toString ();
40- assertEquals ("{entry(key:\" user:1\" ){__typename,ttl,... on StringEntry{value}}}" , queryString );
43+ assertEquals ("query {entry(key:\" user:1\" ){__typename,ttl,... on StringEntry{value}}}" , queryString );
4144 }
4245
4346 @ Test
@@ -47,29 +50,29 @@ public void testUnionQuery() throws Exception {
4750 .onStringEntry (strEntry -> strEntry .value ())
4851 )
4952 ).toString ();
50- assertEquals ("{entry_union(key:\" user:1\" ){__typename,... on StringEntry{value}}}" , queryString );
53+ assertEquals ("query {entry_union(key:\" user:1\" ){__typename,... on StringEntry{value}}}" , queryString );
5154 }
5255
5356 @ Test
5457 public void testEnumInput () throws Exception {
5558 String queryString = Generated .query (query -> query
5659 .keys (10 , args -> args .type (Generated .KeyType .INTEGER ))
5760 ).toString ();
58- assertEquals ("{keys(first:10,type:INTEGER)}" , queryString );
61+ assertEquals ("query {keys(first:10,type:INTEGER)}" , queryString );
5962 }
6063
6164 @ Test
6265 public void testMutation () throws Exception {
6366 String queryString = Generated .mutation (mutation -> mutation .setString ("foo" , "bar" )).toString ();
64- assertEquals ("mutation{set_string(key:\" foo\" ,value:\" bar\" )}" , queryString );
67+ assertEquals ("mutation {set_string(key:\" foo\" ,value:\" bar\" )}" , queryString );
6568 }
6669
6770 @ Test
6871 public void testInputObject () throws Exception {
6972 String queryString = Generated .mutation (mutation -> mutation
7073 .setInteger (new Generated .SetIntegerInput ("answer" , 42 ).setNegate (true ))
7174 ).toString ();
72- assertEquals ("mutation{set_integer(input:{key:\" answer\" ,value:42,negate:true})}" , queryString );
75+ assertEquals ("mutation {set_integer(input:{key:\" answer\" ,value:42,negate:true})}" , queryString );
7376 }
7477
7578 @ Test
@@ -78,7 +81,7 @@ public void testScalarInput() throws Exception {
7881 String queryString = Generated .mutation (mutation -> mutation
7982 .setInteger (new Generated .SetIntegerInput ("answer" , 42 ).setTtl (ttl ))
8083 ).toString ();
81- assertEquals ("mutation{set_integer(input:{key:\" answer\" ,value:42,ttl:\" 2017-01-31T10:09:48\" })}" , queryString );
84+ assertEquals ("mutation {set_integer(input:{key:\" answer\" ,value:42,ttl:\" 2017-01-31T10:09:48\" })}" , queryString );
8285 }
8386
8487 @ Test
@@ -163,30 +166,38 @@ public void testOptionalFieldOnInput() throws Exception {
163166 String queryString = Generated .mutation (mutation -> mutation
164167 .setInteger (new Generated .SetIntegerInput ("answer" , 42 ).setTtl (null ))
165168 ).toString ();
166- assertEquals ("mutation{set_integer(input:{key:\" answer\" ,value:42})}" , queryString );
169+ assertEquals ("mutation {set_integer(input:{key:\" answer\" ,value:42})}" , queryString );
167170 }
168171
169172 @ Test
170173 public void testOptionalFieldOnInputAsUndefined () throws Exception {
171174 String queryString = Generated .mutation (mutation -> mutation
172175 .setInteger (new Generated .SetIntegerInput ("answer" , 42 ).setTtlInput (Input .<LocalDateTime >undefined ()))
173176 ).toString ();
174- assertEquals ("mutation{set_integer(input:{key:\" answer\" ,value:42})}" , queryString );
177+ assertEquals ("mutation {set_integer(input:{key:\" answer\" ,value:42})}" , queryString );
175178 }
176179
177180 @ Test
178181 public void testOptionalFieldOnInputAsExplicitNull () throws Exception {
179182 String queryString = Generated .mutation (mutation -> mutation
180183 .setInteger (new Generated .SetIntegerInput ("answer" , 42 ).setTtlInput (Input .<LocalDateTime >value (null )))
181184 ).toString ();
182- assertEquals ("mutation{set_integer(input:{key:\" answer\" ,value:42,ttl:null})}" , queryString );
185+ assertEquals ("mutation {set_integer(input:{key:\" answer\" ,value:42,ttl:null})}" , queryString );
183186 }
184187
185188 @ Test
186189 public void testOptionalFieldOnInputAsInputValue () throws Exception {
187190 String queryString = Generated .mutation (mutation -> mutation
188191 .setInteger (new Generated .SetIntegerInput ("answer" , 42 ).setTtlInput (Input .<LocalDateTime >value (LocalDateTime .of (2017 , 1 , 31 , 10 , 9 , 48 ))))
189192 ).toString ();
190- assertEquals ("mutation{set_integer(input:{key:\" answer\" ,value:42,ttl:\" 2017-01-31T10:09:48\" })}" , queryString );
193+ assertEquals ("mutation {set_integer(input:{key:\" answer\" ,value:42,ttl:\" 2017-01-31T10:09:48\" })}" , queryString );
194+ }
195+
196+ @ Test
197+ public void testQueryWithDirectives () {
198+ List <Directive > directives = new ArrayList <>();
199+ directives .add (new Generated .SampleDirective ());
200+ Generated .QueryRootQuery query = Generated .query (directives , root -> root .integer ("productCount" ));
201+ Assert .assertEquals ("query @sample {integer(key:\" productCount\" )}" , query .toString ());
191202 }
192203}
0 commit comments