@@ -255,6 +255,7 @@ public function testMakeWithoutAutoResolve(): void
255255 'city ' => 'New York ' ,
256256 'zipCode ' => '10001 ' ,
257257 ],
258+ 'gender ' => TestGenderEnum::Male,
258259 'created_at ' => '2023-01-01 12:00:00 ' ,
259260 ];
260261
@@ -265,6 +266,7 @@ public function testMakeWithoutAutoResolve(): void
265266 $ this ->assertSame (['street ' => '123 Main St ' , 'city ' => 'New York ' , 'zipCode ' => '10001 ' ], $ user ->address );
266267 $ this ->assertIsString ($ user ->createdAt );
267268 $ this ->assertSame ('2023-01-01 12:00:00 ' , $ user ->createdAt );
269+ $ this ->assertSame (TestGenderEnum::Male, $ user ->gender );
268270 }
269271
270272 /**
@@ -279,6 +281,7 @@ public function testMakeWithAutoResolveDataObject(): void
279281 'city ' => 'New York ' ,
280282 'zip_code ' => '10001 ' ,
281283 ],
284+ 'gender ' => 'male ' ,
282285 'created_at ' => '2023-01-01 12:00:00 ' ,
283286 ];
284287
@@ -291,6 +294,7 @@ public function testMakeWithAutoResolveDataObject(): void
291294 $ this ->assertSame ('10001 ' , $ user ->address ->zipCode );
292295 $ this ->assertInstanceOf (DateTime::class, $ user ->createdAt );
293296 $ this ->assertSame ('2023-01-01 12:00:00 ' , $ user ->createdAt ->format ('Y-m-d H:i:s ' ));
297+ $ this ->assertSame (TestGenderEnum::Male, $ user ->gender );
294298 }
295299
296300 /**
@@ -307,6 +311,7 @@ public function testMakeWithAutoResolveDeepNesting(): void
307311 'city ' => 'Boston ' ,
308312 'zip_code ' => '02101 ' ,
309313 ],
314+ 'gender ' => 'male ' ,
310315 'created_at ' => '2023-06-15 09:30:00 ' ,
311316 ],
312317 ];
@@ -320,6 +325,7 @@ public function testMakeWithAutoResolveDeepNesting(): void
320325 $ this ->assertSame ('456 Oak Ave ' , $ company ->employee ->address ->street );
321326 $ this ->assertSame ('Boston ' , $ company ->employee ->address ->city );
322327 $ this ->assertInstanceOf (DateTime::class, $ company ->employee ->createdAt );
328+ $ this ->assertSame (TestGenderEnum::Male, $ company ->employee ->gender );
323329 }
324330
325331 /**
@@ -331,13 +337,15 @@ public function testMakeWithAutoResolveNullValues(): void
331337 'name ' => 'John Doe ' ,
332338 'address ' => null ,
333339 'created_at ' => null ,
340+ 'gender ' => 'male ' ,
334341 ];
335342
336343 $ user = TestUserDataObject::make ($ data , true );
337344
338345 $ this ->assertSame ('John Doe ' , $ user ->name );
339346 $ this ->assertNull ($ user ->address );
340347 $ this ->assertNull ($ user ->createdAt );
348+ $ this ->assertSame (TestGenderEnum::Male, $ user ->gender );
341349 }
342350
343351 protected function getData (): array
@@ -421,6 +429,7 @@ class TestUserDataObject extends DataObject
421429{
422430 public function __construct (
423431 public string $ name ,
432+ public TestGenderEnum $ gender ,
424433 public TestAddressDataObject |array |null $ address ,
425434 public DateTime |string |null $ createdAt ,
426435 ) {
@@ -438,3 +447,9 @@ public function __construct(
438447 ) {
439448 }
440449}
450+
451+ enum TestGenderEnum: string
452+ {
453+ case Male = 'male ' ;
454+ case Female = 'female ' ;
455+ }
0 commit comments