From 601f8e84d83a7ad65095fab49aafbfaff5af4d70 Mon Sep 17 00:00:00 2001 From: pbakker Date: Mon, 2 Dec 2024 12:57:29 -0800 Subject: [PATCH] Added test for duplicate type definitions in constants --- .../graphql/dgs/codegen/CodeGenTest.kt | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/graphql-dgs-codegen-core/src/test/kotlin/com/netflix/graphql/dgs/codegen/CodeGenTest.kt b/graphql-dgs-codegen-core/src/test/kotlin/com/netflix/graphql/dgs/codegen/CodeGenTest.kt index 186f8c24..44a96fce 100644 --- a/graphql-dgs-codegen-core/src/test/kotlin/com/netflix/graphql/dgs/codegen/CodeGenTest.kt +++ b/graphql-dgs-codegen-core/src/test/kotlin/com/netflix/graphql/dgs/codegen/CodeGenTest.kt @@ -2069,6 +2069,30 @@ class CodeGenTest { .containsExactly("TitleFilter", "MoveFilter") } + @Test + fun `Dedupe type names in Constants to support multiple schema files`() { + val schema = """ + type Query { + q1: String + } + + type Query { + q2: String + } + """.trimIndent() + + val result = CodeGen( + CodeGenConfig( + schemas = setOf(schema), + packageName = basePackageName + ) + ).generate() + val type = result.javaConstants[0].typeSpec + assertThat(type.typeSpecs).extracting("name").containsExactly("QUERY") + assertThat(type.typeSpecs[0].fieldSpecs).extracting("name") + .contains("Q1", "Q2") + } + @Test fun generateUnion() { val schema = """