Skip to content

Commit 0162621

Browse files
committed
Fixed issue with nested input types fix #77
1 parent 882a56b commit 0162621

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package com.coxautodev.graphql.tools
2+
3+
import spock.lang.Specification
4+
5+
class NestedInputTypesSpec extends Specification {
6+
7+
def "nested input types are parsed"() {
8+
when:
9+
SchemaParser.newParser().schemaString('''\
10+
type Query {
11+
materials(filter: MaterialFilter): [Material!]!
12+
}
13+
14+
input MaterialFilter {
15+
title: String
16+
requestFilter: RequestFilter
17+
}
18+
19+
input RequestFilter {
20+
and: [RequestFilter!]
21+
or: [RequestFilter!]
22+
discountTypeFilter: DiscountTypeFilter
23+
}
24+
25+
input DiscountTypeFilter {
26+
name: String
27+
}
28+
29+
type Material {
30+
id: ID!
31+
}
32+
''').resolvers(new QueryResolver())
33+
.build()
34+
35+
then:
36+
noExceptionThrown()
37+
}
38+
39+
class QueryResolver implements GraphQLQueryResolver {
40+
List<Material> materials(MaterialFilter filter) { Collections.emptyList() }
41+
}
42+
43+
class Material {
44+
Long id
45+
}
46+
47+
class MaterialFilter {
48+
String title
49+
RequestFilter requestFilter
50+
}
51+
52+
class RequestFilter {
53+
List<RequestFilter> and
54+
List<RequestFilter> or
55+
DiscountTypeFilter discountTypeFilter
56+
}
57+
58+
class DiscountTypeFilter {
59+
String name
60+
}
61+
}

0 commit comments

Comments
 (0)