File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed
main/kotlin/com/expedia/graphql/generator/types
test/kotlin/com/expedia/graphql/generator/types Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -20,6 +20,12 @@ internal class DirectiveTypeBuilder(generator: SchemaGenerator) : TypeBuilder(ge
20
20
21
21
private fun getDirective (directiveInfo : DirectiveInfo ): GraphQLDirective {
22
22
23
+ val existingDirective = state.directives.find { it.name == directiveInfo.effectiveName }
24
+
25
+ if (existingDirective != null ) {
26
+ return existingDirective
27
+ }
28
+
23
29
val directiveClass = directiveInfo.directive.annotationClass
24
30
25
31
val builder = GraphQLDirective .newDirective()
Original file line number Diff line number Diff line change @@ -79,4 +79,11 @@ internal class DirectiveTypeBuilderTest {
79
79
fun `has directive with class` () {
80
80
assertEquals(expected = 1 , actual = basicGenerator.directives(MyClass ::directiveWithClass).size)
81
81
}
82
+
83
+ @Test
84
+ fun `directives are not duplicated in the schema` () {
85
+ basicGenerator.directives(MyClass ::simpleDirective)
86
+ basicGenerator.directives(MyClass ::simpleDirective)
87
+ assertEquals(1 , basicGenerator.state.directives.size)
88
+ }
82
89
}
You can’t perform that action at this time.
0 commit comments