jasonmccreary / laravel-test-assertions by jasonmccreary

A set of helpful assertions when testing Laravel applications.
2,117,080
317
8
Package Data
Maintainer Username: jasonmccreary
Maintainer Contact: jason@pureconcepts.net (Jason McCreary)
Package Create Date: 2019-06-25
Package Last Update: 2024-04-07
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-05-03 15:24:16
Package Statistics
Total Downloads: 2,117,080
Monthly Downloads: 64,310
Daily Downloads: 2,696
Total Stars: 317
Total Watchers: 8
Total Forks: 33
Total Open Issues: 4

Laravel Test Assertions

A set of helpful assertions when testing Laravel applications.

Requirements

Your application must be running the latest LTS version (5.5) or higher and using Laravel's testing harness.

Installation

You may install these assertions with Composer by running:

composer require --dev jasonmccreary/laravel-test-assertions

Afterwards, add the trait to your base TestCase class:

<?php
namespace Tests;

use JMac\Testing\Traits\HttpTestAssertions;
use Illuminate\Foundation\Testing\TestCase as BaseTestCase;

abstract class TestCase extends BaseTestCase
{
    use CreatesApplication, HttpTestAssertions;
}

Assertions

This package adds several assertions helpful when writing Http Tests.

assertActionUsesFormRequest(string $controller, string $method, string $form_request)

Verifies the action for a given controller performs validation using the given form request.

assertActionUsesMiddleware(string $controller, string $method, string|array $middleware)

Verifies the action for a given controller uses the given middleware or set of middleware.

Matchers

LaravelMatchers::isModel(Model $model = null)

Matches an argument is the same as $model. When called without $model, will match any argument of type Illuminate\Database\Eloquent\Model.

LaravelMatchers::isCollection(Collection $collection = null)

Matches an argument equals $collection. When called without $collection, will match any argument of type Illuminate\Support\Collection.

LaravelMatchers::isEloquentCollection(Collection $collection = null)

Matches an argument equals $collection. When called without $collection, will match any argument of type \Illuminate\Database\Eloquent\Collection.