fix incorrect enum-value type names for enums used as inputs

luckily webapp is now a much more complete test suite and genqlient's
own tests, so it caught this!
This commit is contained in:
Ben Kraft
2021-04-21 17:41:33 -07:00
parent 9bc97108ea
commit 32fea7fae4
5 changed files with 64 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
query InputEnumQuery($role: Role!) {
usersWithRole(role: $role) {
id
}
}
+48
View File
@@ -0,0 +1,48 @@
package test
// Code generated by github.com/Khan/genqlient, DO NOT EDIT.
import (
"github.com/Khan/genqlient/graphql"
"github.com/me/mypkg"
)
type InputEnumQueryResponse struct {
UsersWithRole []InputEnumQueryUsersWithRoleUser `json:"usersWithRole"`
}
type InputEnumQueryUsersWithRoleUser struct {
Id mypkg.ID `json:"id"`
}
type Role string
const (
RoleStudent Role = "STUDENT"
RoleTeacher Role = "TEACHER"
)
func InputEnumQuery(
client graphql.Client,
role Role,
) (*InputEnumQueryResponse, error) {
variables := map[string]interface{}{
"role": role,
}
var retval InputEnumQueryResponse
err := client.MakeRequest(
nil,
"InputEnumQuery",
`
query InputEnumQuery ($role: Role!) {
usersWithRole(role: $role) {
id
}
}
`,
&retval,
variables,
)
return &retval, err
}
+9
View File
@@ -0,0 +1,9 @@
{
"operations": [
{
"operationName": "InputEnumQuery",
"query": "\nquery InputEnumQuery ($role: Role!) {\n\tusersWithRole(role: $role) {\n\t\tid\n\t}\n}\n",
"sourceLocation": "testdata/queries/InputEnum.graphql"
}
]
}
+1
View File
@@ -62,6 +62,7 @@ type Topic implements Content {
type Query {
user(query: UserQueryInput): User
usersWithRole(role: Role!): [User!]!
root: Topic!
randomLeaf: LeafContent!
convert(dt: DateTime!, tz: String): DateTime!
+1 -1
View File
@@ -372,7 +372,7 @@ func (builder *typeBuilder) writeTypedef(
builder.WriteString("const (\n")
for _, val := range typedef.EnumValues {
fmt.Fprintf(builder, "%s %s = \"%s\"\n",
typeNamePrefix+goConstName(val.Name),
typeName+goConstName(val.Name),
typeName, val.Name)
}
builder.WriteString(")\n")