Skip to content
This repository was archived by the owner on Feb 27, 2026. It is now read-only.

esign/laravel-nova-testing

Repository files navigation

Testing toolkit for Laravel Nova

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.

Warning

This package is abandoned due to a lack of support from Laravel Nova.

References:

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, array $query = [], array $filters = [])
  • getNovaResourceDetail($resourceClass, $resourceId, array $query = [])
  • createNovaResource($resourceClass, array $data, array $query = [])
  • updateNovaResource($resourceClass, $resourceId, array $data, array $query = [])
  • deleteNovaResource($resourceClass, array $resourceIds, array $query = [])
  • forceDeleteNovaResource($resourceClass, array $resourceIds, array $query = [])
  • restoreNovaResource($resourceClass, array $resourceIds, array $query = [])
  • attachNovaResource($resourceClass, $resourceId, $relatedResourceClass, $relatedResourceId, $relationshipName, array $data = [], array $query = [])
  • getNovaResourceCount($resourceClass, array $query = [])
  • getNovaResourceFilters($resourceClass, array $query = [])

Field Requests

  • getNovaResourceCreationFields($resourceClass, array $query = [])
  • getNovaResourceUpdateFields($resourceClass, $resourceId, array $query = [])
  • getNovaResourcePivotCreationFields($resourceClass, $resourceId, $relatedResourceClass, $relationshipName, array $query = [])
  • getNovaResourcePivotUpdateFields($resourceClass, $resourceId, $relatedResourceClass, $relatedResourceId, $relationshipName, array $query = [])
  • patchNovaResourceUpdateFields($resourceClass, $resourceId, $field, $component, array $data, array $query = [])
  • deleteNovaResourceField($resourceClass, $resourceId, $field, array $query = [])

Associatable Requests

  • getNovaAssociatableResources($resourceClass, $field, $resourceId, $component, $search = '', array $query = [])

Action Requests

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

Dashboard Requests

  • getNovaDashboard($dashboard, array $query = [])
  • getNovaDashboardCards($dashboard, array $query = [])
  • getNovaDashboardMetric($dashboard, $metric, array $query = [])

Page Requests

  • getNovaHomePage(array $query = [])
  • getNovaDashboardPage($dashboard, array $query = [])
  • getNovaResourceIndexPage($resourceClass, array $query = [])
  • getNovaResourceDetailPage($resourceClass, $resourceId, array $query = [])
  • getNovaResourceCreatePage($resourceClass, array $query = [])
  • getNovaResourceEditPage($resourceClass, $resourceId, array $query = [])
  • getNovaResourceReplicatePage($resourceClass, $resourceId, array $query = [])
  • getNovaResourceLensPage($resourceClass, $lens, array $query = [])

Impersonation Requests

  • startNovaImpersonation($resourceClass, $resourceId, array $query = [])
  • stopNovaImpersonation(array $query = [])

Testing

composer test

License

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages