31 lines
898 B
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());
|
|
}
|
|
}
|