pdmfc/laravel-nova-test-assertions-php-8-support

Laravel Nova testing helpers

dev-main 2024-02-16 09:23 UTC

This package is not auto-updated.

Last update: 2024-12-23 21:14:48 UTC


README

A collection of test assertions and helpers to assist you on testing Laravel Nova applications.

Packagist Downloads Packagist Version Packagist License

Installation

composer require pdmfc/laravel-nova-test-assertions --dev

Add the NovaTestAssertions trait to your tests or to the TestCase:

use Pdmfc\NovaTestAssertions\Traits\NovaTestAssertions;

class ExampleTest extends TestCase
{
    use NovaTestAssertions;
}

Test Example

class AssertionsTest extends TestCase
{
    /** @test */
    public function detail_view_has_id_field()
    {
        $this->actingAs($user = factory(User::class)->create());

        $response = $this->resourceDetail(UserResource::class, $user->id);

        $response->assertContainsField(ID::class);
    }

    /** @test */
    public function asserts_total_resources_available_on_index_view(): void
    {
        factory(User::class, 5)->create();

        $actual = $this->resourceCount(UserResource::class);

        $this->assertEquals(6, $actual);
    }

    /** @test */
    public function asserts_run_nova_action(): void
    {
        $user = factory(User::class)->create(['name' => 'Bar']);

        $this->runAction(FooAction::class, UserResource::class, $user->id);

        $this->assertEquals('Foo', $user->fresh()->name);
    }
}