CaiWuXiTong/tests/Feature/Auth/AdminPermissionBypassTest.php

31 lines
898 B
PHP

<?php
namespace Tests\Feature\Auth;
use App\Http\Middleware\RoleAwarePermission;
use App\Models\Auth\Role;
use Illuminate\Http\Request;
use Tests\Feature\FeatureTestCase;
class AdminPermissionBypassTest extends FeatureTestCase
{
public function test_admin_role_is_not_blocked_by_missing_permission_mapping(): void
{
$this->user->roles()->sync([
Role::where('name', 'admin')->firstOrFail()->id,
]);
$this->user->permissions()->detach();
$request = Request::create('/permission-bypass-test');
$request->setUserResolver(fn () => $this->user);
$response = app(RoleAwarePermission::class)->handle(
$request,
fn () => response('ok'),
'permission-not-mapped'
);
$this->assertSame(200, $response->getStatusCode());
$this->assertSame('ok', $response->getContent());
}
}