diff --git a/src/main/kotlin/graphql/kickstart/tools/TypeClassMatcher.kt b/src/main/kotlin/graphql/kickstart/tools/TypeClassMatcher.kt index 4f4a460f..840c4a19 100644 --- a/src/main/kotlin/graphql/kickstart/tools/TypeClassMatcher.kt +++ b/src/main/kotlin/graphql/kickstart/tools/TypeClassMatcher.kt @@ -32,10 +32,6 @@ internal class TypeClassMatcher(private val definitionsByName: Map() { return DataFetcherResult.newResult().data(items.first()).build() } + fun dataFetcherResultItems(): List> { + return listOf(DataFetcherResult.newResult().data(items.first()).build()) + } + suspend fun coroutineItems(): List = CompletableDeferred(items).await() fun arrayItems() = items.toTypedArray() @@ -329,7 +334,7 @@ class Mutation : GraphQLMutationResolver { } fun saveUser(userInput: UserInput): String { - return userInput.name + "/" + userInput.password; + return userInput.name + "/" + userInput.password } class UserInput { diff --git a/src/test/kotlin/graphql/kickstart/tools/EndToEndTest.kt b/src/test/kotlin/graphql/kickstart/tools/EndToEndTest.kt index b67d6973..6ca764c1 100644 --- a/src/test/kotlin/graphql/kickstart/tools/EndToEndTest.kt +++ b/src/test/kotlin/graphql/kickstart/tools/EndToEndTest.kt @@ -532,6 +532,21 @@ class EndToEndTest { assertEquals(data["dataFetcherResult"], mapOf("name" to "item1")) } + @Test + fun `generated schema supports list of DataFetcherResult`() { + val data = assertNoGraphQlErrors(gql) { + """ + { + dataFetcherResultItems { + name + } + } + """ + } + + assertEquals(data["dataFetcherResultItems"], listOf(mapOf("name" to "item1"))) + } + @Test fun `generated schema supports Kotlin suspend functions`() { val data = assertNoGraphQlErrors(gql) {