diff --git a/src/main/java/graphql/incremental/IncrementalExecutionResultImpl.java b/src/main/java/graphql/incremental/IncrementalExecutionResultImpl.java index 2f9470b949..d067ec1327 100644 --- a/src/main/java/graphql/incremental/IncrementalExecutionResultImpl.java +++ b/src/main/java/graphql/incremental/IncrementalExecutionResultImpl.java @@ -52,9 +52,13 @@ public static Builder fromExecutionResult(ExecutionResult executionResult) { return new Builder().from(executionResult); } + public static Builder fromIncrementalExecutionResult(IncrementalExecutionResult executionResult) { + return new Builder().from(executionResult); + } + @Override public IncrementalExecutionResult transform(Consumer> builderConsumer) { - var builder = fromExecutionResult(this); + var builder = fromIncrementalExecutionResult(this); builderConsumer.accept(builder); return builder.build(); } diff --git a/src/test/groovy/graphql/incremental/IncrementalExecutionResultTest.groovy b/src/test/groovy/graphql/incremental/IncrementalExecutionResultTest.groovy index b40bfd8712..fd13de6d8e 100644 --- a/src/test/groovy/graphql/incremental/IncrementalExecutionResultTest.groovy +++ b/src/test/groovy/graphql/incremental/IncrementalExecutionResultTest.groovy @@ -121,7 +121,15 @@ class IncrementalExecutionResultTest extends Specification { def "transform returns IncrementalExecutionResult"() { when: - def initial = newIncrementalExecutionResult().hasNext(true).build() + def defer = newDeferredItem() + .label("homeWorldDefer") + .path(ResultPath.parse("/person")) + .data([homeWorld: "Tatooine"]) + .build() + def initial = newIncrementalExecutionResult() + .hasNext(true) + .incremental([defer]) + .build() then: def transformed = initial.transform { b -> @@ -130,6 +138,7 @@ class IncrementalExecutionResultTest extends Specification { } transformed instanceof IncrementalExecutionResult transformed.extensions == ["ext-key": "ext-value"] + transformed.incremental == initial.incremental transformed.hasNext == false } }