You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.1 KiB
39 lines
1.1 KiB
<?php
|
|
|
|
namespace Tests\Base;
|
|
|
|
|
|
use App\Documents\FingerPrintDocument;
|
|
use App\Documents\UserDocument;
|
|
use Jenssegers\Mongodb\Eloquent\Model;
|
|
|
|
trait AuthMethodsTrait
|
|
{
|
|
protected function getToken($user = null)
|
|
{
|
|
$user = empty($user) ? UserDocument::factory()->create() : $user;
|
|
$fingerPrint = FingerPrintDocument::factory()->create(['user_id' => $user->id]);
|
|
|
|
return $fingerPrint->token;
|
|
}
|
|
|
|
protected function loginAsAdmin($user = ['id' => 1, 'group_id' => 1, 'name' => 'admin', 'email' => 'admin@gmail.com'])
|
|
{
|
|
return $this->loginAs(['*'], $user);
|
|
}
|
|
|
|
protected function loginAsUser($permissions = [], $user = ['id' => 1, 'group_id' => 1, 'name' => 'user', 'email' => 'user@gmail.com'])
|
|
{
|
|
return $this->loginAs($permissions, $user);
|
|
}
|
|
|
|
|
|
protected function loginAs($permissions = [], $user = ['id' => 1, 'group_id' => 1, 'name' => 'fake', 'email' => 'fake@gmail.com'])
|
|
{
|
|
$user = $user instanceof Model ? $user : new UserDocument($user);
|
|
$user->permissions = $permissions;
|
|
$this->be($user);
|
|
|
|
return $this;
|
|
}
|
|
}
|