1. Go to this page and download the library: Download erikgall/eloquent-phpunit library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
erikgall / eloquent-phpunit example snippets
$this->table
$this->table->column('column_name')
$this->table->exists();
$this->table->hasTimestamps();
protected $model = 'App\Role';
public function testDatabase() {
// We are testing the roles table below
$this->table->column('id')->increments();
$this->table->column('name')->string()->notNull()->unique();
$this->table->column('label')->string()->notNull();
$this->table->hasTimestamps();
// To switch to the user_role table we must reset the table.
// You can method chain off of the resetTable() method as well.
$this->resetTable('user_role');
// Begin testing user_role table like normal.
$this->table->column('role_id')->integer()->primary()->foreign('roles');
$this->table->column('user_id')->integer()->primary()->foreign('roles');
$this->table->hasTimestamps();
}
Class UserModelTest extends \EGALL\EloquentPHPUnit\EloquentTestCase {
protected $model = 'App\User';
// If you want to run the DatabaseSeeder class
protected $seedDatabase = true;
// If you only want to run a specific seeder
protected $seeders = ['UsersTableSeeder', 'SchoolsTableSeeder'];
// Change the default seeder that calls the rest of your seeders.
// The default is the default Laravel Seeder named: DatabaseSeeder.
// Ex. (You have a TestDatabaseSeeder and the default DatabaseSeeder).
protected $defaultSeeder = 'TestDatabaseSeeder'
/**
* Test the database table.
*/
public function testDatabaseTable() {
$this->table->column('id')->integer()->increments();
$this->table->column('name')->string()->nullable();
$this->table->column('email')->string()->notNullable()->unique();
$this->table->column('password')->string()->notNullable();
$this->table->column('dob')->date()->nullable();
$this->table->column('avatar_id')->integer()->foreign('images', 'id', $onUpdate = 'cascade', $onDelete = 'cascade');
$this->table->column('is_verified')->boolean()->defaults(false);
$this->table->column('is_admin')->boolean()->defaults(false);
$this->table->column('verification_sent_at')->dateTime()->nullable();
$this->table->column('invite_sent_at')->dateTime()->nullable();
$this->table->column('api_token')->string()->index();
$this->table->column('remember_token')->string()->nullable();
$this->table->hasTimestamps();
}
/**
* Test the model's properties.
*/
public function testModelProperties() {
$this->hasFillable('name', 'email', 'password', 'dob', 'avatar_id')
->hasHidden('password', 'remember_token')
->hasCasts('is_verified', 'boolean')
// or
->hasCasts(['is_verified' => 'boolean', 'is_admin' => 'boolean'])
->hasDates('verification_sent_at', 'invite_sent_at')
->belongsTo(Image::class)
// if method name = 'image()' or
->belongsTo(Image::class, $customMethod = 'avatar')
->hasMany(Profile::class)
->morphsTo($method = 'slug', $morphTo = 'sluggable')
// or: example below assumes the db fields are: 'sluggable_id' and 'sluggable_type'
->morphsTo('sluggable');
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.