esign/laravel-nova-testing

Testing toolkit for Laravel Nova.

1.0.0 2025-06-29 18:52 UTC

This package is auto-updated.

Last update: 2025-06-29 19:11:44 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

A toolkit for testing Laravel Nova routes and resources. This package provides convenient testing utilities to interact with Nova endpoints in your feature and integration tests.

Installation

You can install the package via composer:

composer require esign/laravel-nova-testing

Usage

Getting Started

You may implement the MakesNovaRequests trait in your test cases to easily make requests to Nova routes and assert their responses.

use Esign\NovaTesting\Concerns\MakesNovaRequests;

class ExampleTest extends TestCase
{
    use MakesNovaRequests;

    public function test_can_get_nova_resource_index()
    {
        $user = User::factory()->create();

        $response = $this->actingAs($user)->getNovaResourceIndex(UserResource::class);

        $response->assertStatus(200);
    }
}

Available Testing Methods

Resource Requests

  • getNovaResourceIndex($resourceClass)
  • getNovaResourceDetail($resourceClass, $resourceId)
  • createNovaResource($resourceClass, array $data)
  • updateNovaResource($resourceClass, $resourceId, array $data)
  • deleteNovaResource($resourceClass, array $resourceIds)
  • forceDeleteNovaResource($resourceClass, array $resourceIds)
  • restoreNovaResource($resourceClass, array $resourceIds)
  • attachNovaResource($resourceClass, $resourceId, $relatedResourceClass, $relatedResourceId, $relationshipName, array $data = [])
  • getNovaResourceCount($resourceClass)
  • getNovaResourceFilters($resourceClass)

Field Requests

  • getNovaResourceCreationFields($resourceClass)
  • getNovaResourceUpdateFields($resourceClass, $resourceId)
  • getNovaResourcePivotCreationFields($resourceClass, $resourceId, $relatedResourceClass, $relationshipName)
  • getNovaResourcePivotUpdateFields($resourceClass, $resourceId, $relatedResourceClass, $relatedResourceId, $relationshipName)

Action Requests

  • getNovaResourceActions($resourceClass)
  • runNovaResourceAction($resourceClass, $action, array $data = [])

Page Requests

  • getNovaHomePage()
  • getNovaDashboardPage($dashboard)
  • getNovaResourceIndexPage($resourceClass)
  • getNovaResourceDetailPage($resourceClass, $resourceId)
  • getNovaResourceCreatePage($resourceClass)
  • getNovaResourceEditPage($resourceClass, $resourceId)
  • getNovaResourceReplicatePage($resourceClass, $resourceId)
  • getNovaResourceLensPage($resourceClass, $lens)

Testing

composer test

License

The MIT License (MIT). Please see License File for more information.