-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Expand file tree
/
Copy pathIssue921.groovy
More file actions
59 lines (49 loc) · 1.63 KB
/
Issue921.groovy
File metadata and controls
59 lines (49 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package graphql
import graphql.schema.idl.NaturalEnumValuesProvider
import spock.lang.Specification
import static graphql.schema.idl.RuntimeWiring.newRuntimeWiring
import static graphql.schema.idl.TypeRuntimeWiring.newTypeWiring
class Issue921 extends Specification {
static enum ThreadSort {
NEWEST_FIRST,
OLDEST_FIRST,
MOST_COMMENTS_FIRST
}
def "can run introspection on a default value enum schema"() {
def spec = '''
type Thread {
id: ID!
title: String!
content: String!
}
enum ThreadSort {
NEWEST_FIRST
OLDEST_FIRST
MOST_COMMENTS_FIRST
}
type Query {
allThreads(sort: ThreadSort = NEWEST_FIRST) : [Thread!]!
}
'''
def typeRuntimeWiring = newTypeWiring('ThreadSort').enumValues(new NaturalEnumValuesProvider(ThreadSort)).build()
def runtimeWiring = newRuntimeWiring().type(typeRuntimeWiring).build()
def graphql = TestUtil.graphQL(spec, runtimeWiring).build()
when:
def result = graphql.execute('''
{
__schema {
queryType {
fields {
args {
defaultValue
}
}
}
}
}
''')
then:
result.errors.isEmpty()
result.data == [__schema: [queryType: [fields: [[args: [[defaultValue: "NEWEST_FIRST"]]]]]]]
}
}