mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-26 22:19:41 -08:00
60 lines
1.7 KiB
PHP
60 lines
1.7 KiB
PHP
<?php
|
|
|
|
|
|
/**
|
|
* Inherited Methods
|
|
* @method void wantToTest($text)
|
|
* @method void wantTo($text)
|
|
* @method void execute($callable)
|
|
* @method void expectTo($prediction)
|
|
* @method void expect($prediction)
|
|
* @method void amGoingTo($argumentation)
|
|
* @method void am($role)
|
|
* @method void lookForwardTo($achieveValue)
|
|
* @method void comment($description)
|
|
* @method \Codeception\Lib\Friend haveFriend($name, $actorClass = NULL)
|
|
*
|
|
* @SuppressWarnings(PHPMD)
|
|
*/
|
|
class ApiTester extends \Codeception\Actor
|
|
{
|
|
use _generated\ApiTesterActions;
|
|
|
|
/**
|
|
* Define custom actions here
|
|
*/
|
|
|
|
public function getToken(\App\Models\User $user)
|
|
{
|
|
$client_repository = new \Laravel\Passport\ClientRepository();
|
|
$client = $client_repository->createPersonalAccessClient($user->id, 'Codeception API Test Client',
|
|
'http://localhost/');
|
|
|
|
\Illuminate\Support\Facades\DB::table('oauth_personal_access_clients')->insert([
|
|
'client_id' => $client->id,
|
|
'created_at' => new DateTime,
|
|
'updated_at' => new DateTime,
|
|
]);
|
|
|
|
$user->permissions = json_encode(['superuser' => true]);
|
|
$user->save();
|
|
|
|
$token = $user->createToken('CodeceptionAPItestToken')->accessToken;
|
|
|
|
return $token;
|
|
}
|
|
|
|
/**
|
|
* Remove Timestamps from transformed array
|
|
* This fixes false negatives when comparing json due to timestamp second rounding issues
|
|
* @param array $array Array returned from the transformer
|
|
* @return array Transformed item striped of created_at and updated_at
|
|
*/
|
|
public function removeTimeStamps($array)
|
|
{
|
|
unset($array['created_at']);
|
|
unset($array['updated_at']);
|
|
return $array;
|
|
}
|
|
}
|