@@ -220,17 +220,26 @@ class PetFamilySchema(Schema):
220220class TestComponentParameterHelper :
221221 @pytest .mark .parametrize ("schema" , [PetSchema , PetSchema ()])
222222 def test_can_use_schema_in_parameter (self , spec , schema ):
223- if spec .openapi_version .major < 3 :
224- param = {"schema" : schema }
225- else :
226- param = {"content" : {"application/json" : {"schema" : schema }}}
223+ param = {"schema" : schema }
227224 spec .components .parameter ("Pet" , "body" , param )
228225 parameter = get_parameters (spec )["Pet" ]
229226 assert parameter ["in" ] == "body"
230- if spec .openapi_version .major < 3 :
231- reference = parameter ["schema" ]
232- else :
233- reference = parameter ["content" ]["application/json" ]["schema" ]
227+ reference = parameter ["schema" ]
228+ assert reference == build_ref (spec , "schema" , "Pet" )
229+
230+ resolved_schema = spec .components .schemas ["Pet" ]
231+ assert resolved_schema ["properties" ]["name" ]["type" ] == "string"
232+ assert resolved_schema ["properties" ]["password" ]["type" ] == "string"
233+ assert resolved_schema ["properties" ]["id" ]["type" ] == "integer"
234+
235+ @pytest .mark .parametrize ("spec" , ("3.0.0" ,), indirect = True )
236+ @pytest .mark .parametrize ("schema" , [PetSchema , PetSchema ()])
237+ def test_can_use_schema_in_parameter_with_content (self , spec , schema ):
238+ param = {"content" : {"application/json" : {"schema" : schema }}}
239+ spec .components .parameter ("Pet" , "body" , param )
240+ parameter = get_parameters (spec )["Pet" ]
241+ assert parameter ["in" ] == "body"
242+ reference = parameter ["content" ]["application/json" ]["schema" ]
234243 assert reference == build_ref (spec , "schema" , "Pet" )
235244
236245 resolved_schema = spec .components .schemas ["Pet" ]
0 commit comments