Level 37
I'm not sure why it's failing but after setting "date-only" everywhere, why are you asserting a "date-time" string in your test?
Shouldn't it be 'dob' => $player->dob->toDateString(), ?
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
In Model
protected $casts = [
'dob' => 'date:Y-m-d',
];
Factory
public function definition(): array
{
return [
'name' => fake()->name(),
'gender' => 'male',
'dob' => fake()->date(),
];
}
Test case
it('can retrieve player data', function () {
$player = Player::factory()->create();
livewire(PlayerResource\Pages\EditPlayer::class, [
'record' => $player->getRouteKey(),
])
->assertFormSet([
'name' => $player->name,
'dob' => $player->dob->toDateTimeString(),
'gender' => $player->gender,
]);
});
Error
FAILED Tests\Feature\PlayerTest > it can retrieve player data
Failed asserting that two strings are equal.
-'1996-10-02 00:00:00'
+'1996-10-02 16:58:29'
Please or to participate in this conversation.