The version of this package reflects current major version of the Laravel framework. For example:
If Laravel framework has version 5.6, version of this package compatible will be 5.6.*
.
Due to changes in Laravel's versioning scheme, version 6.1.* will aim to be compatible with a version 6.1.* of Laravel. For example, auth-tests version 6.1.1 and 6.1.20 will be all compatible with Laravel 6.1.*
Before installation please make sure you have scaffolded frontend views with a
--auth
flag e.g.composer require laravel/ui && php artisan ui vue --auth
composer require dczajkowski/auth-tests --dev
php artisan make:auth-tests --without-email-verification
Edit phpunit.xml
file by adding these two lines between <php>
tags:
<server name="DB_CONNECTION" value="sqlite"/>
<server name="DB_DATABASE" value=":memory:"/>
Alternatively, use different database than sqlite, but also different from the one used for development.
If you want to use the e-mail verification feature, you will have to make following changes:
- update
routes/web.php
:
- Auth::routes();
+ Auth::routes(['verify' => true]);
- update
app/User.php
:
- class User extends Authenticatable
+ class User extends Authenticatable implements MustVerifyEmail
There are four flags for customizing your tests. You can use any combination of them. (All flags have their short version e.g. --zonda
or -z
)
# make:auth-tests
public function testUserCanLogout()
{
//
}
# make:auth-tests --snake-case
public function test_user_can_logout()
{
//
}
# make:auth-tests --annotation
/** @test */
public function userCanLogout()
{
//
}
# make:auth-tests --public
function testUserCanLogout()
{
//
}
# make:auth-tests --curly
public function testUserCanLogout() {
//
}
# make:auth-tests -caps # or --zonda
/** @test */
function user_can_logout() {
//
}
Since version 5.7 there has been a new test for email verification added. You can omit it by running --without-email-verification
.
To review all flags run php artisan make:auth-tests --help
.
To update tests when a new version of this package arrives:
composer update dczajkowski/auth-tests
php artisan make:auth-tests
Warning! All changes to the files this package provides will be lost when running this command!
Instead of including this package manually every project you create, simply create a bash function that will do that for you. I have included my personal function here. Feel free to edit it and reuse however you like.
Feel free to make PRs to this repo.
This package is open-source software licensed under the MIT license (same as Laravel itself).