From d702f0253b7fd5b0028eea0b39d4f57583f0b88f Mon Sep 17 00:00:00 2001 From: Calvin Cestari Date: Mon, 11 Sep 2023 22:11:11 -0700 Subject: [PATCH] Another test --- .../OperationDefinitionTemplateTests.swift | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/Tests/ApolloCodegenTests/CodeGeneration/Templates/OperationDefinitionTemplateTests.swift b/Tests/ApolloCodegenTests/CodeGeneration/Templates/OperationDefinitionTemplateTests.swift index 38f37846e..944df23e8 100644 --- a/Tests/ApolloCodegenTests/CodeGeneration/Templates/OperationDefinitionTemplateTests.swift +++ b/Tests/ApolloCodegenTests/CodeGeneration/Templates/OperationDefinitionTemplateTests.swift @@ -341,6 +341,48 @@ class OperationDefinitionTemplateTests: XCTestCase { expect(actual).to(equalLineByLine(expected, atLine: 9, ignoringExtraLines: true)) } + func test__generate__givenQueryWithNamedFragment_withDeferredTypeCase_generatesDeferredPropertyTrue() throws { + // given + schemaSDL = """ + type Query { + allAnimals: [Animal!] + } + + interface Animal { + species: String! + } + + type Dog implements Animal { + species: String! + } + """ + + document = """ + query TestOperation { + allAnimals { + ... DogFragment + } + } + + fragment DogFragment on Animal { + ... on Dog @defer(label: "root") { + species + } + } + """ + + let expected = """ + public static let hasDeferredFragments: Bool = true + """ + + // when + try buildSubjectAndOperation() + let actual = renderSubject() + + // then + expect(actual).to(equalLineByLine(expected, atLine: 9, ignoringExtraLines: true)) + } + // MARK: - Selection Set Declaration func test__generate__givenOperationSelectionSet_rendersDeclaration() throws {