File tree Expand file tree Collapse file tree 6 files changed +85
-7
lines changed
Tocsoft.GraphQLCodeGen.Cli
Tocsoft.GraphQLCodeGen.Tests Expand file tree Collapse file tree 6 files changed +85
-7
lines changed Original file line number Diff line number Diff line change @@ -396,16 +396,13 @@ private string PrintOperationDefinition(GraphQLOperationDefinition definition)
396396 . ToString ( )
397397 . ToLower ( ) ;
398398
399- return string . IsNullOrWhiteSpace ( name ) &&
400- string . IsNullOrWhiteSpace ( name ) &&
401- string . IsNullOrWhiteSpace ( name ) &&
402- definition . Operation != OperationType . Query
403- ? selectionSet
404- : this . Join (
399+ var variables = string . IsNullOrWhiteSpace ( name ) ? variableDefinitions : this . Join ( new [ ] { name , variableDefinitions } ) ;
400+
401+ return this . Join (
405402 new [ ]
406403 {
407404 operation ,
408- this . Join ( new [ ] { name , variableDefinitions } ) ,
405+ variables ,
409406 directives ,
410407 selectionSet
411408 } ,
Original file line number Diff line number Diff line change 1+ #! settings:./settings.json
2+
3+ mutation IfNamedUseNameInstead ($repositoyId : ID!){
4+ addStar (input :{clientMutationId : " 123" , starrableId :$repositoyId }){
5+ starrable {
6+ viewerHasStarred
7+ }
8+ }
9+ }
Original file line number Diff line number Diff line change 1+ #! settings:./settings.json
2+
3+ mutation ($repositoyId : ID!){
4+ addStar (input :{clientMutationId : " 123" , starrableId :$repositoyId }){
5+ starrable {
6+ viewerHasStarred
7+ }
8+ }
9+ }
Original file line number Diff line number Diff line change 1+ {
2+ "schema" : " ../GitHubSchema.json" ,
3+ "output" : " Client.cs" ,
4+ "class" : " Sample.Client.GitHub.GitHubClient"
5+ }
Original file line number Diff line number Diff line change 1+ using System . Linq ;
2+ using System . Threading . Tasks ;
3+ using Xunit ;
4+
5+ namespace Tocsoft . GraphQLCodeGen . Tests
6+ {
7+ public class Issue19
8+ {
9+ [ Fact ]
10+ public async Task GenerateNamedMutationIsCorrect ( )
11+ {
12+ var logger = new FakeLogger ( ) ;
13+ var settingsLoader = new CodeGeneratorSettingsLoader ( logger ) ;
14+
15+ var paths = "./Files/Issue_19/named.gql" ;
16+
17+ var settings = settingsLoader . GenerateSettings ( new CodeGeneratorSettingsLoaderDefaults ( ) , new [ ] { paths } ) ;
18+
19+ var generator = new CodeGenerator ( logger , settings . Single ( ) ) ;
20+
21+ await generator . LoadSource ( ) ;
22+ generator . Parse ( ) ;
23+ generator . Render ( ) ;
24+ var code = generator . GeneratedCode ;
25+
26+ Assert . Contains ( "mutation IfNamedUseNameInstead($repositoyId: ID!)" , code ) ;
27+ }
28+
29+ [ Fact ]
30+ public async Task GenerateNonNamedMutationIsCorrect ( )
31+ {
32+ var logger = new FakeLogger ( ) ;
33+ var settingsLoader = new CodeGeneratorSettingsLoader ( logger ) ;
34+
35+ var paths = "./Files/Issue_19/notNamed.gql" ;
36+
37+ var settings = settingsLoader . GenerateSettings ( new CodeGeneratorSettingsLoaderDefaults ( ) , new [ ] { paths } ) ;
38+
39+ var generator = new CodeGenerator ( logger , settings . Single ( ) ) ;
40+
41+ await generator . LoadSource ( ) ;
42+ generator . Parse ( ) ;
43+ generator . Render ( ) ;
44+ var code = generator . GeneratedCode ;
45+
46+ Assert . Contains ( "mutation ($repositoyId: ID!)" , code ) ;
47+ }
48+ }
49+ }
Original file line number Diff line number Diff line change 9393 </ItemGroup >
9494
9595 <ItemGroup >
96+ <None Update =" Files\Issue_19\notNamed.gql" >
97+ <CopyToOutputDirectory >Always</CopyToOutputDirectory >
98+ </None >
99+ <None Update =" Files\Issue_19\named.gql" >
100+ <CopyToOutputDirectory >Always</CopyToOutputDirectory >
101+ </None >
102+ <None Update =" Files\Issue_19\settings.json" >
103+ <CopyToOutputDirectory >Always</CopyToOutputDirectory >
104+ </None >
96105 <None Update =" Files\SchemaFiles\gqlsettings.json" >
97106 <CopyToOutputDirectory >PreserveNewest</CopyToOutputDirectory >
98107 </None >
You can’t perform that action at this time.
0 commit comments