@@ -158,7 +158,23 @@ public void WalkDOMWithCycles()
158158 [ Fact ]
159159 public void LocateReferences ( )
160160 {
161- var baseSchema = new OpenApiSchema ( ) ;
161+ var baseSchema = new OpenApiSchema
162+ {
163+ Type = JsonSchemaType . Object ,
164+ Properties = new ( )
165+ {
166+ [ "type" ] = new OpenApiSchema ( ) { Type = JsonSchemaType . String }
167+ } ,
168+ Required = new HashSet < string > { "type" } ,
169+ Discriminator = new OpenApiDiscriminator
170+ {
171+ PropertyName = "type" ,
172+ Mapping = new Dictionary < string , OpenApiSchemaReference >
173+ {
174+ [ "derived" ] = new OpenApiSchemaReference ( "derived" )
175+ }
176+ }
177+ } ;
162178
163179 var derivedSchema = new OpenApiSchema
164180 {
@@ -229,7 +245,8 @@ public void LocateReferences()
229245 "referenceAt: #/paths/~1/get/responses/200/headers/test-header" ,
230246 "referenceAt: #/components/schemas/derived/anyOf/0" ,
231247 "referenceAt: #/components/securitySchemes/test-secScheme" ,
232- "referenceAt: #/components/headers/test-header/schema"
248+ "referenceAt: #/components/headers/test-header/schema" ,
249+ "referenceAt: #/components/schemas/base/discriminator/mapping/derived" ,
233250 } , locator . Locations . Where ( l => l . StartsWith ( "referenceAt:" , StringComparison . OrdinalIgnoreCase ) ) ) ;
234251 }
235252 }
0 commit comments