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; 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;
}
/** /**
* 获取认证请求头 * 获取认证请求头
*/ */