@@ -114,14 +114,19 @@ public void CreateStructuredTypeSchemaForEntityTypeWithDiscriminatorValueEnabled
114
114
EnableDiscriminatorValue = true ,
115
115
} ) ;
116
116
117
+ string derivedType = "user" ;
117
118
IEdmEntityType entity = model . SchemaElements . OfType < IEdmEntityType > ( ) . First ( t => t . Name == "directoryObject" ) ;
118
- Assert . NotNull ( entity ) ; // Guard
119
+ IEdmEntityType derivedEntity = model . SchemaElements . OfType < IEdmEntityType > ( ) . First ( t => t . Name == derivedType ) ;
120
+ Assert . NotNull ( entity ) ;
121
+ Assert . NotNull ( derivedEntity ) ;
119
122
120
123
// Act
121
124
var schema = context . CreateStructuredTypeSchema ( entity ) ;
125
+ var derivedSchema = context . CreateStructuredTypeSchema ( derivedEntity ) ;
122
126
string json = schema . SerializeAsJson ( OpenApiSpecVersion . OpenApi3_0 ) ;
123
127
124
128
// Assert
129
+ Assert . True ( derivedSchema . AllOf . FirstOrDefault ( x => derivedType . Equals ( x . Title ) ) ? . Properties . ContainsKey ( "@odata.type" ) ) ;
125
130
Assert . NotNull ( json ) ;
126
131
Assert . Equal ( @"{
127
132
""allOf"": [
@@ -155,6 +160,18 @@ public void CreateStructuredTypeSchemaForEntityTypeWithDiscriminatorValueEnabled
155
160
""#microsoft.graph.application"": ""#/components/schemas/microsoft.graph.application"",
156
161
""#microsoft.graph.servicePrincipal"": ""#/components/schemas/microsoft.graph.servicePrincipal"",
157
162
""#microsoft.graph.policyBase"": ""#/components/schemas/microsoft.graph.policyBase"",
163
+ ""#microsoft.graph.appManagementPolicy"": ""#/components/schemas/microsoft.graph.appManagementPolicy"",
164
+ ""#microsoft.graph.stsPolicy"": ""#/components/schemas/microsoft.graph.stsPolicy"",
165
+ ""#microsoft.graph.homeRealmDiscoveryPolicy"": ""#/components/schemas/microsoft.graph.homeRealmDiscoveryPolicy"",
166
+ ""#microsoft.graph.tokenIssuancePolicy"": ""#/components/schemas/microsoft.graph.tokenIssuancePolicy"",
167
+ ""#microsoft.graph.tokenLifetimePolicy"": ""#/components/schemas/microsoft.graph.tokenLifetimePolicy"",
168
+ ""#microsoft.graph.claimsMappingPolicy"": ""#/components/schemas/microsoft.graph.claimsMappingPolicy"",
169
+ ""#microsoft.graph.activityBasedTimeoutPolicy"": ""#/components/schemas/microsoft.graph.activityBasedTimeoutPolicy"",
170
+ ""#microsoft.graph.authorizationPolicy"": ""#/components/schemas/microsoft.graph.authorizationPolicy"",
171
+ ""#microsoft.graph.tenantAppManagementPolicy"": ""#/components/schemas/microsoft.graph.tenantAppManagementPolicy"",
172
+ ""#microsoft.graph.permissionGrantPolicy"": ""#/components/schemas/microsoft.graph.permissionGrantPolicy"",
173
+ ""#microsoft.graph.servicePrincipalCreationPolicy"": ""#/components/schemas/microsoft.graph.servicePrincipalCreationPolicy"",
174
+ ""#microsoft.graph.identitySecurityDefaultsEnforcementPolicy"": ""#/components/schemas/microsoft.graph.identitySecurityDefaultsEnforcementPolicy"",
158
175
""#microsoft.graph.extensionProperty"": ""#/components/schemas/microsoft.graph.extensionProperty"",
159
176
""#microsoft.graph.endpoint"": ""#/components/schemas/microsoft.graph.endpoint"",
160
177
""#microsoft.graph.resourceSpecificPermissionGrant"": ""#/components/schemas/microsoft.graph.resourceSpecificPermissionGrant"",
0 commit comments