update user test

This commit is contained in:
2026-03-09 14:12:27 +08:00
parent 21db2a638b
commit 8d5b8bea4d
@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace HyperfTest\Cases\Integration\User;
use App\Model\Role;
use App\Model\User;
use HyperfTest\TestCase;
use Qbhy\HyperfAuth\AuthManager;
@@ -17,21 +18,36 @@ use function Hyperf\Support\make;
class UserControllerTest extends TestCase
{
/**
* 获取认证用的 JWT Token
* 获取认证用的 JWT Token(使用 administrator 角色用户)
*/
protected function getAuthToken(): string
{
$user = $this->fetchUser(static function ($query): void {
$query->where('status', 1);
$admin_role = $this->fetchAdminRole();
$user = $this->fetchUser(static function ($query) use ($admin_role): void {
$query->where('status', 1)->where('role_id', $admin_role->id);
});
if (!$user) {
$this->markTestSkipped('没有可用的活跃用户,无法测试');
$this->markTestSkipped('没有可用的 administrator 用户,无法测试');
}
$auth = make(AuthManager::class);
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;
}
/**
* 获取认证请求头
*/