@@ -19,7 +19,28 @@ public async Task SchemaTransformer_CanAccessTypeAndParameterDescriptionForParam
19
19
builder . MapPost ( "/todo" , ( Todo todo ) => { } ) ;
20
20
21
21
var options = new OpenApiOptions ( ) ;
22
+ var firstInvocationOnSecondTransformer = true ;
22
23
options . AddSchemaTransformer ( ( schema , context , cancellationToken ) =>
24
+ {
25
+ ValidateContext ( context ) ;
26
+ return Task . CompletedTask ;
27
+ } )
28
+ . AddSchemaTransformer ( ( schema , context , cancellationToken ) =>
29
+ {
30
+ // Coverage for https://github.com/dotnet/aspnetcore/issues/56899
31
+ if ( firstInvocationOnSecondTransformer )
32
+ {
33
+ Assert . Equal ( typeof ( Todo ) , context . JsonTypeInfo . Type ) ;
34
+ firstInvocationOnSecondTransformer = false ;
35
+ }
36
+ // Rest of the state is still consistent
37
+ ValidateContext ( context ) ;
38
+ return Task . CompletedTask ;
39
+ } ) ;
40
+
41
+ await VerifyOpenApiDocument ( builder , options , document => { } ) ;
42
+
43
+ static void ValidateContext ( OpenApiSchemaTransformerContext context )
23
44
{
24
45
if ( context . JsonPropertyInfo == null )
25
46
{
@@ -42,10 +63,7 @@ public async Task SchemaTransformer_CanAccessTypeAndParameterDescriptionForParam
42
63
{
43
64
Assert . Equal ( typeof ( DateTime ) , context . JsonTypeInfo . Type ) ;
44
65
}
45
- return Task . CompletedTask ;
46
- } ) ;
47
-
48
- await VerifyOpenApiDocument ( builder , options , document => { } ) ;
66
+ }
49
67
}
50
68
51
69
[ Fact ]
0 commit comments