update user test
This commit is contained in:
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace HyperfTest\Cases\Integration\User;
|
namespace HyperfTest\Cases\Integration\User;
|
||||||
|
|
||||||
|
use App\Model\Role;
|
||||||
use App\Model\User;
|
use App\Model\User;
|
||||||
use HyperfTest\TestCase;
|
use HyperfTest\TestCase;
|
||||||
use Qbhy\HyperfAuth\AuthManager;
|
use Qbhy\HyperfAuth\AuthManager;
|
||||||
@@ -17,21 +18,36 @@ use function Hyperf\Support\make;
|
|||||||
class UserControllerTest extends TestCase
|
class UserControllerTest extends TestCase
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 获取认证用的 JWT Token
|
* 获取认证用的 JWT Token(使用 administrator 角色用户)
|
||||||
*/
|
*/
|
||||||
protected function getAuthToken(): string
|
protected function getAuthToken(): string
|
||||||
{
|
{
|
||||||
$user = $this->fetchUser(static function ($query): void {
|
$admin_role = $this->fetchAdminRole();
|
||||||
$query->where('status', 1);
|
$user = $this->fetchUser(static function ($query) use ($admin_role): void {
|
||||||
|
$query->where('status', 1)->where('role_id', $admin_role->id);
|
||||||
});
|
});
|
||||||
if (!$user) {
|
if (!$user) {
|
||||||
$this->markTestSkipped('没有可用的活跃用户,无法测试');
|
$this->markTestSkipped('没有可用的 administrator 用户,无法测试');
|
||||||
}
|
}
|
||||||
|
|
||||||
$auth = make(AuthManager::class);
|
$auth = make(AuthManager::class);
|
||||||
return $auth->guard('jwt')->login($user);
|
return $auth->guard('jwt')->login($user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function fetchAdminRole(): Role
|
||||||
|
{
|
||||||
|
if (\Swoole\Coroutine::getCid() > 0) {
|
||||||
|
return Role::query()->where('name', 'administrator')->firstOrFail();
|
||||||
|
}
|
||||||
|
|
||||||
|
$role = null;
|
||||||
|
\Swoole\Coroutine\run(static function () use (&$role): void {
|
||||||
|
$role = Role::query()->where('name', 'administrator')->firstOrFail();
|
||||||
|
});
|
||||||
|
|
||||||
|
return $role;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取认证请求头
|
* 获取认证请求头
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user