Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Respect's avatar

How to test livewire Computed Property method

  • Hello friends thanks for help
  • How to test livewire Computed Property method
  • example testing
    public function test_ads_component_loaded_with_ads_data(): void
    {
        $user = User::factory()->create();
        $this->seed(CitySeeder::class);

        $ad = [
            'title' => 'test title',
            'city_id' => 1,
            'city_id_service' => 2,
            'type' => 're',
            'call' => 123456789,
            'description' => 'lorem ipsum test data',
        ];

        (new CreateAdAction())->handle($ad, $user);

        Livewire::test(Ads::class)
            ->assertStatus(200)
            ->assertViewHas('ads', function ($ads) use ($ad) {   //  proplem in theis assertViewHas
                return $ads->contains($ad);
            });
    }



  • class file
#[Computed()]
function ads()
    {
    return (new GetAdsWithFavoritesAction())->handle();
}

  • Blade file
            @forelse ($this->ads as $ad)
                <livewire:components.ads.ad-item :ad="$ad" wire:key="key-ads-home-{{ $ad->id }}" />
            @empty
                <x-utils.no-data message="no_data" />
            @endforelse
 
  • Error
 Call to a member function contains() on null
0 likes
0 replies

Please or to participate in this conversation.