Looking to hire Laravel developers? Try LaraJobs

pest-plugin-laravel maintained by soyhuce

Description
Custom extensions for Laravel integration into Pest
Last update
2026/02/27 09:49 (dev-main)
License
Links
Downloads
2 340
Tags

Comments
comments powered by Disqus

Pest plugin for Laravel development

Latest Version on Packagist GitHub Tests Action Status GitHub static analysis Action Status GitHub Pint Action Status Total Downloads

Installation

You can install the package via composer:

composer require soyhuce/pest-plugin-laravel --dev

Usage

Expectations

  • toBeModel expects that the value matches current model
expect($model)->toBeModel($expectedModel)
  • toBeCollection expects that the collection matches current collection
expect($collection)->toBeCollection(new Collection([1,2,3]));
/// Expected collection can be given as array
expect($collection)->toBeCollection([1,2,3]);

Keys and order of the collections are checked and must match.

  • toBeCollectionCanonicalizing expects that the collection matches current collection, ignoring order
expect($collection)->toBeCollectionCanonicalizing(new Collection([1,2,3]));
/// Expected collection can be given as array
expect($collection)->toBeCollectionCanonicalizing([3,1,2]);

Keys of the collections are checked and must match.

  • toBeAbleTo expect that the autenticatable can perform the given action
expect($user)->toBeAbleTo('update', $post);

Data expectations : require spatie/laravel-data package

  • toBeData expects that the value matches current data object
expect($data)->toBeData(new UserData(['name' => 'John Doe']));
  • toBeDataCollection expects that the collection matches current data collection
expect($dataCollection)->toBeDataCollection(new UserDataCollection([
    new UserData(['name' => 'John Doe']),
    new UserData(['name' => 'Jane Doe']),
]));

// Expected collection can be given as array
expect($dataCollection)->toBeDataCollection([['name' => 'John Doe'], ['name' => 'Jane Doe']]);