Replacing encode_default instance check with strict type check (#3197)

* Replacing encode_default instance check with strict type check

* Adding change notes

* Changing to dictionary indexing in tests

* Adding explicit Enum check and returning its value
This commit is contained in:
João M. Martins
2021-12-08 22:52:25 +01:00
committed by GitHub
parent a3f180eb2b
commit dc4710b56c
3 changed files with 24 additions and 1 deletions
+20
View File
@@ -1435,6 +1435,26 @@ def test_list_default():
}
def test_enum_str_default():
class MyEnum(str, Enum):
FOO = 'foo'
class UserModel(BaseModel):
friends: MyEnum = MyEnum.FOO
assert UserModel.schema()['properties']['friends']['default'] is MyEnum.FOO.value
def test_enum_int_default():
class MyEnum(IntEnum):
FOO = 1
class UserModel(BaseModel):
friends: MyEnum = MyEnum.FOO
assert UserModel.schema()['properties']['friends']['default'] is MyEnum.FOO.value
def test_dict_default():
class UserModel(BaseModel):
friends: Dict[str, float] = {'a': 1.1, 'b': 2.2}