@@ -104,6 +104,15 @@ def __init__(self, id, name="name1", started=None):
104104 self .started = isoparse (started ) if started else None
105105
106106
107+ class SomeOtherDomain (BaseDomain ):
108+ __slots__ = ("id" , "name" , "child" )
109+
110+ def __init__ (self , id = None , name = None , child = None ):
111+ self .id = id
112+ self .name = name
113+ self .child = child
114+
115+
107116class TestBaseDomain :
108117 @pytest .mark .parametrize (
109118 "data_dict,expected_result" ,
@@ -134,3 +143,23 @@ def test_from_dict_ok(self, data_dict, expected_result):
134143 model = ActionDomain .from_dict (data_dict )
135144 for k , v in expected_result .items ():
136145 assert getattr (model , k ) == v
146+
147+ @pytest .mark .parametrize (
148+ "data,expected" ,
149+ [
150+ (
151+ SomeOtherDomain (id = 1 , name = "name1" ),
152+ "SomeOtherDomain(id=1, name='name1', child=None)" ,
153+ ),
154+ (
155+ SomeOtherDomain (
156+ id = 2 ,
157+ name = "name2" ,
158+ child = SomeOtherDomain (id = 3 , name = "name3" ),
159+ ),
160+ "SomeOtherDomain(id=2, name='name2', child=SomeOtherDomain(id=3, name='name3', child=None))" ,
161+ ),
162+ ],
163+ )
164+ def test_repr_ok (self , data , expected ):
165+ assert data .__repr__ () == expected
0 commit comments