【发布时间】:2019-08-12 21:06:55
【问题描述】:
我正在尝试使用 laravel voyager 为我的管理面板编写一些测试,但是在进行一些研究时似乎存在一些问题,我发现问题可能与权限有关
public function A_admin_user_can_visit_the_admin_page()
{
\DB::table('permissions')->insert(
['key' => 'browse_admin', 'id' => 1]
);
\DB::table('roles')->insert(
['name' => 'admin', 'display_name' => 'Administrator']
);
\DB::table('permission_role')->insert(
['permission_id' => 1, 'role_id' => 1]
);
$user = factory('App\User')->create(['role_id' => 1]);
$this->actingAs($user);
$this->get('/admin')->assertStatus(200);
}
如果我有正确的权限,这个测试工作正常
public function A_admin_can_browse_users_data()
{
$this->admin();
$this->adminPermissions();
$this->adminRoles();
$user = factory('App\User')->create(['role_id' => 1]);
$this->actingAs($user);
$this->get('/admin')->assertStatus(200);
// dd(\Voyager::canOrFail('browse_bread'));
$this->get('/admin/users')->assertStatus(200);
}
这里测试失败,但我保证功能 admin adminRoles 和 adminPermissions 已经创建了必要的数据库条目,即使我死了,我的用户也可以完全访问并转储我得到的权限,所以它不可能是权限是问题其他事情出了问题,我不知道有什么帮助,我们将不胜感激。
【问题讨论】: