Skip to content

Commit 48b9de9

Browse files
Add unit test
1 parent 1bd832b commit 48b9de9

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

tests/test_parser/test_properties/test_init.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -793,6 +793,49 @@ def test_property_from_data_union(self, mocker):
793793
data=data, name=name, required=required, schemas=schemas, parent_name="parent"
794794
)
795795

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+
796839
def test_property_from_data_unsupported_type(self, mocker):
797840
name = mocker.MagicMock()
798841
required = mocker.MagicMock()

0 commit comments

Comments
 (0)