Skip to content

Commit c8ce0cb

Browse files
authored
#45 Add missing type in case types (#48)
1 parent 9fd2cb8 commit c8ce0cb

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

library/src/main/scala/za/co/absa/springdocopenapiscala/OpenAPIModelRegistration.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ class OpenAPIModelRegistration(
9595
private def handleCaseType(tpe: Type): Schema[_] = {
9696
val name = tpe.typeSymbol.name.toString.trim
9797
val schema = new Schema
98+
schema.setType("object")
9899
val fields = tpe.decls.collect {
99100
case field: TermSymbol if field.isVal => field
100101
}

library/src/test/scala/za/co/absa/springdocopenapiscala/OpenAPIModelRegistrationSpec.scala

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ class OpenAPIModelRegistrationSpec extends AnyFlatSpec {
161161

162162
val actualSchemas = components.getSchemas
163163

164+
assertTypeAndFormatAreAsExpected(actualSchemas, "OnlySimpleTypes", "object")
164165
assertTypeAndFormatAreAsExpected(actualSchemas, "OnlySimpleTypes.a", "string")
165166
assertTypeAndFormatAreAsExpected(actualSchemas, "OnlySimpleTypes.b", "integer", Some("int32"))
166167
assertTypeAndFormatAreAsExpected(actualSchemas, "OnlySimpleTypes.c", "integer", Some("int32"))
@@ -186,6 +187,7 @@ class OpenAPIModelRegistrationSpec extends AnyFlatSpec {
186187

187188
val actualSchemas = components.getSchemas
188189

190+
assertTypeAndFormatAreAsExpected(actualSchemas, "SimpleTypesMaybeInOption", "object")
189191
assertTypeAndFormatAreAsExpected(actualSchemas, "SimpleTypesMaybeInOption.a", "string")
190192
assertTypeAndFormatAreAsExpected(actualSchemas, "SimpleTypesMaybeInOption.b", "string")
191193
assertTypeAndFormatAreAsExpected(actualSchemas, "SimpleTypesMaybeInOption.c", "integer", Some("int32"))
@@ -206,12 +208,15 @@ class OpenAPIModelRegistrationSpec extends AnyFlatSpec {
206208

207209
val actualSchemas = components.getSchemas
208210

211+
assertTypeAndFormatAreAsExpected(actualSchemas, "ChildChildCaseClass", "object")
209212
assertTypeAndFormatAreAsExpected(actualSchemas, "ChildChildCaseClass.a", "string")
210213

214+
assertTypeAndFormatAreAsExpected(actualSchemas, "ChildCaseClass", "object")
211215
assertTypeAndFormatAreAsExpected(actualSchemas, "ChildCaseClass.a", "string")
212216
assertTypeAndFormatAreAsExpected(actualSchemas, "ChildCaseClass.b", "integer", Some("int32"))
213217
assertRefIsAsExpected(actualSchemas, "ChildCaseClass.child", "#/components/schemas/ChildChildCaseClass")
214218

219+
assertTypeAndFormatAreAsExpected(actualSchemas, "ParentCaseClass", "object")
215220
assertRefIsAsExpected(actualSchemas, "ParentCaseClass.child", "#/components/schemas/ChildCaseClass")
216221
assertTypeAndFormatAreAsExpected(actualSchemas, "ParentCaseClass.other", "string")
217222
}
@@ -313,6 +318,7 @@ class OpenAPIModelRegistrationSpec extends AnyFlatSpec {
313318

314319
assertTypeAndFormatAreAsExpected(actualSchemas, "SealedAbstractClassVariant.a", "string")
315320
assert(actualSchemas.containsKey("SealedAbstractClassCaseObject"))
321+
assertTypeAndFormatAreAsExpected(actualSchemas, "SealedAbstractClassCaseObject", "object")
316322
assert(Option(actualSchemas.get("SealedAbstractClassCaseObject").getProperties).isEmpty)
317323

318324
assertPredicateForPath(

0 commit comments

Comments
 (0)