Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
calvincestari committed Feb 5, 2024
1 parent eaa1849 commit e9a948b
Showing 1 changed file with 107 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -1757,7 +1757,7 @@ class SelectionSetTemplate_Initializers_Tests: XCTestCase {
expect(actual).to(equalLineByLine(expected, atLine: 24, ignoringExtraLines: true))
}

// MARK: - Include/Skip Tests
// MARK: Include/Skip Tests

func test__render_given_fieldWithInclusionCondition_rendersInitializerWithOptionalParameter() async throws {
// given
Expand Down Expand Up @@ -2136,4 +2136,110 @@ class SelectionSetTemplate_Initializers_Tests: XCTestCase {
expect(allAnimals_ifA_actual).to(equalLineByLine(
allAnimals_ifA_expected, atLine: 23, ignoringExtraLines: true))
}

// MARK: Parameter Name Tests

func test__render__givenReservedFieldName_shouldGenerateParameterNameWithAlias() async throws {
// given
schemaSDL = """
type Query {
allAnimals: [Animal!]
}
type Animal {
name: String
self: String # <- reserved name
}
"""

document = """
query TestOperation {
allAnimals {
name
self
}
}
"""

let expected =
"""
public init(
name: String? = nil,
`self` _self: String? = nil
) {
self.init(_dataDict: DataDict(
data: [
"__typename": TestSchema.Objects.Animal.typename,
"name": name,
"self": _self,
],
fulfilledFragments: [
ObjectIdentifier(TestOperationQuery.Data.AllAnimal.self)
]
))
}
"""

// when
try await buildSubjectAndOperation()

let allAnimals = try XCTUnwrap(
operation[field: "query"]?[field: "allAnimals"]?.selectionSet
)

let actual = subject.test_render(childEntity: allAnimals.computed)

// then
expect(actual).to(equalLineByLine(expected, atLine: 18, ignoringExtraLines: true))
}

func test__render__givenFieldName_generatesParameterNameWithoutAlias() async throws {
// given
schemaSDL = """
type Query {
allAnimals: [Animal!]
}
type Animal {
name: String
}
"""

document = """
query TestOperation {
allAnimals {
name
}
}
"""

let expected =
"""
public init(
name: String? = nil
) {
self.init(_dataDict: DataDict(
data: [
"__typename": TestSchema.Objects.Animal.typename,
"name": name,
],
fulfilledFragments: [
ObjectIdentifier(TestOperationQuery.Data.AllAnimal.self)
]
))
}
"""

// when
try await buildSubjectAndOperation()

let allAnimals = try XCTUnwrap(
operation[field: "query"]?[field: "allAnimals"]?.selectionSet
)

let actual = subject.test_render(childEntity: allAnimals.computed)

// then
expect(actual).to(equalLineByLine(expected, atLine: 16, ignoringExtraLines: true))
}
}

0 comments on commit e9a948b

Please sign in to comment.