#php #laravel #laravel-permission #php-pest
#php #laravel #laravel-разрешение #php-вредитель
Вопрос:
Я использую Pest PHP (с Laravel) и пытаюсь запустить тест с заданной ролью, но у меня уже есть статус 403 (запрещено). Я использую spatie / laravel-разрешение для управления ролями.
Это мой маршрут :
Route::get('liste', IndexAccessController::class)->name('access.index')->middleware('role:team');
И это мой вредительский PHP-тест:
beforeEach(function () {
$me = factory(User::class)->create();
$role = SpatiePermissionModelsRole::where('name', 'team')->first();
$me->assignRole($role);
$this->actingAs($me);
});
test('has index page', function () {
$response = $this->get(route('access.index'));
$response->assertStatus(200);
});
Когда я выполняю отладку, чтобы получить роли пользователя, Laravel сообщает мне, что у него их нет.
Большое спасибо
Комментарии:
1. Ваш код кажется прекрасным, я бы предположил, что ошибка заключается в том, что нет роли с именем team, либо путем обновления базы данных в тестах, неправильного заполнения базы данных или не создания роли team в контексте теста. dd ($ role); проверил бы, является ли это проблемой.