update user test
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取认证请求头
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user