Where does the fillForm method come from? Do you set a macro somewhere? To my knowledge, it's not a default method provided by Livewires Testable class.
Try to use set instead.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
I'm trying to test a form that when I select a brand it should prefill the related suppliers in the next select. In my form I user the ->live() method to make the fields dependent on each other. In my test i have:
livewire(CreateOrder::class)
->assertFormFieldExists('brand_id')
->fillForm([
'brand_id' => $brand->id,
])->assertFormSet(['supplier_id' => $suppliers->pluck('id')->toArray()]);
However this doesn't work, I get the error:
Failed asserting that null matches expected 1.
at vendor/livewire/livewire/src/Features/SupportTesting/MakesAssertions.php:93
89▕
90▕ if (! is_string($value) && is_callable($value)) {
91▕ PHPUnit::assertTrue($value($actual));
92▕ } else {
➜ 93▕ $strict ? PHPUnit::assertSame($value, $actual) : PHPUnit::assertEquals($value, $actual);
94▕ }
95▕
96▕ return $this;
97▕ }
I have tried to log what the value is of the suppliers. And I have confirmed that the options are empty. How Can I solve this, or where can I read about testing these dependent fields. Thanks.
Please or to participate in this conversation.