laravel-view-assertions

🧑‍🔬 The missing assertions for your views in your Laravel applications.

MIT License

Downloads
414
Stars
6
Committers
2

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.