sven / laravel-view-assertions
Assert things about your Laravel views in your PHPUnit tests
Requires
- php: ^8.1
- laravel/framework: ^9.0 || ^10.0
- phpunit/phpunit: ^9.0 || ^10.0
Requires (Dev)
- orchestra/testbench: ^7.0 || ^8.0
README
Laravel View Assertions
The missing assertions for your views in your Laravel applications.
Installation
You'll have to follow a couple of simple steps to install this package.
Downloading
Via composer:
$ composer require sven/laravel-view-assertions --dev
Or add the package to your dependencies in composer.json
and run
composer update
on the command line to download the package:
{ "require-dev": { "sven/laravel-view-assertions": "^1.1" } }
Usage
This package exposes a single trait: \Sven\LaravelViewAssertions\InteractsWithViews
.
When you use
this trait in your tests as below, you'll get access to several assertions:
<?php use Sven\LaravelViewAssertions\InteractsWithViews; use Illuminate\Foundation\Testing\TestCase; class ExampleTest extends TestCase { use InteractsWithViews; public function test_it_creates_a_view() { // ... $this->assertViewExists('some.view-file'); $this->assertViewsExist(['posts.index', 'posts.show']); } public function test_it_does_not_create_a_view() { // ... $this->assertViewDoesNotExist('some.view-file'); $this->assertViewsDoNotExist(['posts.edit', 'posts.create']); } public function test_the_view_equals() { // ... $this->assertViewEquals('The Expected Contents', 'index'); } public function test_the_view_does_not_equal() { // ... $this->assertViewDoesNotEqual('This Is Not The Content You\'re Looking For', 'index'); } }
Contributing
All contributions (pull requests, issues and feature requests) are welcome. Make sure to read through the CONTRIBUTING.md first, though. See the contributors page for all contributors.
License
sven/laravel-view-assertions
is licensed under the MIT License (MIT). Please see the
license file for more information.