@@ -793,6 +793,49 @@ def test_property_from_data_union(self, mocker):
793
793
data = data , name = name , required = required , schemas = schemas , parent_name = "parent"
794
794
)
795
795
796
+ def test_property_from_data_union_of_one_element (self , mocker ):
797
+ from openapi_python_client .parser .properties import ModelProperty , Reference , Schemas , property_from_data
798
+
799
+ name = "new_name"
800
+ required = False
801
+ class_name = "MyModel"
802
+ existing_model = ModelProperty (
803
+ name = "old_name" ,
804
+ required = True ,
805
+ nullable = False ,
806
+ default = None ,
807
+ reference = Reference (class_name = class_name , module_name = "my_model" ),
808
+ required_properties = [],
809
+ optional_properties = [],
810
+ description = "" ,
811
+ relative_imports = set (),
812
+ additional_properties = False ,
813
+ )
814
+ schemas = Schemas (models = {class_name : existing_model })
815
+
816
+ data = oai .Schema .construct (
817
+ allOf = [oai .Reference .construct (ref = class_name )],
818
+ nullable = True ,
819
+ )
820
+ build_union_property = mocker .patch (f"{ MODULE_NAME } .build_union_property" )
821
+ mocker .patch ("openapi_python_client.utils.remove_string_escapes" , return_value = name )
822
+
823
+ prop , schemas = property_from_data (name = name , required = required , data = data , schemas = schemas , parent_name = "parent" )
824
+
825
+ assert prop == ModelProperty (
826
+ name = name ,
827
+ required = required ,
828
+ nullable = True ,
829
+ default = None ,
830
+ reference = Reference (class_name = class_name , module_name = "my_model" ),
831
+ required_properties = [],
832
+ optional_properties = [],
833
+ description = "" ,
834
+ relative_imports = set (),
835
+ additional_properties = False ,
836
+ )
837
+ build_union_property .assert_not_called ()
838
+
796
839
def test_property_from_data_unsupported_type (self , mocker ):
797
840
name = mocker .MagicMock ()
798
841
required = mocker .MagicMock ()
0 commit comments