PHPackages                             jcergolj/laravel-view-test-assertions - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. jcergolj/laravel-view-test-assertions

ActivePackage[Testing &amp; Quality](/categories/testing)

jcergolj/laravel-view-test-assertions
=====================================

Missing Laravel view's test assertions

v2.11(1y ago)1615.4k1[2 issues](https://github.com/jcergolj/laravel-view-test-assertions/issues)MITPHPPHP &gt;=7.4

Since Sep 28Pushed 1y ago2 watchersCompare

[ Source](https://github.com/jcergolj/laravel-view-test-assertions)[ Packagist](https://packagist.org/packages/jcergolj/laravel-view-test-assertions)[ RSS](/packages/jcergolj-laravel-view-test-assertions/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (14)Used By (0)

**Few additional assertions for testing Laravel views.**

Why
===

[](#why)

Laravel has well established and documented way of testing requests. However, this is not the case for the views. I always felt that views in Laravel are neglected when it comes to testing, however being confident that form, submit button, and input fields are present is essential.

Granted, you can use Dusk, but it is significantly slower than regular feature tests and adding Dusk as part of the test suite is not always desired.

That's why I created this package. It is my attempt/proposal for adding a bit of TDD concept to the views too. Hope you like it.

Installation
============

[](#installation)

```
composer require --dev jcergolj/laravel-view-test-assertions
```

Assertions
==========

[](#assertions)

`assertViewHasForm(string $selector = null, string $method = null, string $action = null)`

> **This assertion should alway be called first. Based on selector form is selected. By default first form is selected.**

`assertFormHasCSRF()`

`assertFormHasSubmitButton(string $name = null, string $value = null)`

`assertFormHasTextInput(string $name = null, string $value)`

`assertFormHasButtonInput($type = 'submit', string $name = null, string $value)`

`assertFormHasColorInput(string $name = null, string $value)`

`assertFormHasDateInput(string $name = null, string $value)`

`assertFormHasDateLocalInput(string $name = null, string $value)`

`assertFormHasEmailInput(string $name = null, string $value)`

`assertFormHasFileInput(string $name = null, string $value)`

`assertFormHasHiddenInput(string $name = null, string $value)`

`assertFormHasImageInput(string $name = null, string $value)`

`assertFormHasMonthInput(string $name = null, string $value)`

`assertFormHasNumberInput(string $name = null, string $value)`

`assertFormHasPasswordInput(string $name = null, string $value)`

`assertFormHasRangeInput(string $name = null, string $value)`

`assertFormHasResetInput(string $name = null, string $value)`

`assertFormHasSearchInput(string $name = null, string $value)`

`assertFormHasTelInput(string $name = null, string $value)`

`assertFormHasTextInput(string $name = null, string $value)`

`assertFormHasUrlInput(string $name = null, string $value)`

`assertFormHasWeekInput(string $name = null, string $value)`

`assertFormHasDropdown(string $name = null)`

`assertFormHasCheckboxInput(string $name = null, string $value = null)`

`assertFormHasRadioInput(string $name, string $value = null)`

`assertElementHasChild(string $parentSelector, string $childSelector)`

`assertFieldHasValidationErrorMsg(string $errorMsg)`

`assertFormHasField($type, $name, $value = null)`

`assertFormHasField(string $type, string $name, string $value = null)`

`assertElementHasChild(string $parentSelector, string $childSelector)`

`assertFieldHasValidationErrorMsg(string $errorMsg)`

Example
=======

[](#example)

View
----

[](#view)

```
// resources/welcome.blade.php
>

        Laravel

            Form

            @csrf

            The First Name must only contain letters.

                5 Years

```

Example Test
------------

[](#example-test)

```
